aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjmarshallnz <jcmarsha@gmail.com>2012-08-27 14:09:20 -0700
committerjmarshallnz <jcmarsha@gmail.com>2012-08-27 14:09:20 -0700
commitf8f5a56a2c80f5bd5cc86472cb07b9fe9f96fa82 (patch)
tree15c21bfc8727b1ac0d0f4cc78a00b6b740e82846
parent39ecb3a2c5d77f06be9c6b5d2aa974e543a3a254 (diff)
parent09fa271c77c53f1b981198d5f690417504846fe9 (diff)
Merge pull request #1336 from Voyager-xbmc/focus-stack-selection-window
[gui] Stack selection window - set focus immediately to avoid repeated keypress
-rw-r--r--xbmc/video/dialogs/GUIDialogFileStacking.cpp32
-rw-r--r--xbmc/video/dialogs/GUIDialogFileStacking.h1
2 files changed, 20 insertions, 13 deletions
diff --git a/xbmc/video/dialogs/GUIDialogFileStacking.cpp b/xbmc/video/dialogs/GUIDialogFileStacking.cpp
index a3287e7bb0..145bfea743 100644
--- a/xbmc/video/dialogs/GUIDialogFileStacking.cpp
+++ b/xbmc/video/dialogs/GUIDialogFileStacking.cpp
@@ -53,19 +53,6 @@ bool CGUIDialogFileStacking::OnMessage(CGUIMessage& message)
{
CGUIDialog::OnMessage(message);
m_iSelectedFile = -1;
- if (GetControl(STACK_LIST))
- { // have the new stack list instead - fill it up
- SendMessage(GUI_MSG_LABEL_RESET, GetID(), STACK_LIST);
- for (int i = 0; i < m_iNumberOfFiles; i++)
- {
- CStdString label;
- label.Format(g_localizeStrings.Get(23051).c_str(), i+1);
- CFileItemPtr item(new CFileItem(label));
- m_stackItems->Add(item);
- }
- CGUIMessage msg(GUI_MSG_LABEL_BIND, GetID(), STACK_LIST, 0, 0, m_stackItems);
- OnMessage(msg);
- }
return true;
}
break;
@@ -97,3 +84,22 @@ void CGUIDialogFileStacking::SetNumberOfFiles(int iFiles)
{
m_iNumberOfFiles = iFiles;
}
+
+void CGUIDialogFileStacking::OnInitWindow()
+{
+ if (GetControl(STACK_LIST))
+ {
+ // have the new stack list instead - fill it up
+ SendMessage(GUI_MSG_LABEL_RESET, GetID(), STACK_LIST);
+ for (int i = 0; i < m_iNumberOfFiles; i++)
+ {
+ CStdString label;
+ label.Format(g_localizeStrings.Get(23051).c_str(), i+1);
+ CFileItemPtr item(new CFileItem(label));
+ m_stackItems->Add(item);
+ }
+ CGUIMessage msg(GUI_MSG_LABEL_BIND, GetID(), STACK_LIST, 0, 0, m_stackItems);
+ OnMessage(msg);
+ }
+ CGUIDialog::OnInitWindow();
+} \ No newline at end of file
diff --git a/xbmc/video/dialogs/GUIDialogFileStacking.h b/xbmc/video/dialogs/GUIDialogFileStacking.h
index 89bcb48880..60ab510eb1 100644
--- a/xbmc/video/dialogs/GUIDialogFileStacking.h
+++ b/xbmc/video/dialogs/GUIDialogFileStacking.h
@@ -36,6 +36,7 @@ public:
int GetSelectedFile() const;
void SetNumberOfFiles(int iFiles);
protected:
+ virtual void OnInitWindow();
int m_iSelectedFile;
int m_iNumberOfFiles;
CFileItemList* m_stackItems;