[Title] about_dialog should be topmost on windows
authorgiwoong.kim <giwoong.kim@samsung.com>
Fri, 20 Jan 2012 01:59:17 +0000 (10:59 +0900)
committergiwoong.kim <giwoong.kim@samsung.com>
Fri, 20 Jan 2012 01:59:17 +0000 (10:59 +0900)
[Type]
[Module] Emulator / menu
[Priority] major
[Jira#]
[Redmine#]
[Problem]
[Cause] gtk
[Solution]
[TestCase]

Change-Id: Id01eb246841d866b54dfa024e05f2e5ab967edbb

tizen/src/menu.c
tizen/src/menu_callback.c

index 7e45663..eed9f27 100644 (file)
@@ -262,6 +262,10 @@ void create_popup_menu(GtkWidget **pMenu, PHONEMODELINFO *device, CONFIGURATION
         gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(Item), FALSE);
     }
 
+#ifdef _WIN32
+    g_object_set_data((GObject *) *pMenu, "always_on_top", (GObject *) Item);
+#endif
+
     gtk_widget_set_tooltip_text(Item, "Set keep above this window or not");
     gtk_container_add(GTK_CONTAINER(*pMenu), Item);
     gtk_widget_show(Item);
index 4d30397..72dc9e5 100644 (file)
@@ -607,6 +607,16 @@ void show_about_window(GtkWidget *parent)
 
        GtkWidget* about_dialog = gtk_about_dialog_new();
 
+#ifdef _WIN32
+    // about_dialog should be topmost
+    BOOL bTopMost = FALSE;
+    GtkWidget* menu_item = (GtkWidget*)g_object_get_data((GObject *) get_widget(EMULATOR_ID, POPUP_MENU), "always_on_top");
+    if (gtk_check_menu_item_get_active(GTK_CHECK_MENU_ITEM(menu_item)) == TRUE) {
+        bTopMost = TRUE;
+        gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_item), FALSE);
+    }
+#endif
+
        //      gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about_dialog), version);
        gtk_about_dialog_set_comments(GTK_ABOUT_DIALOG(about_dialog), comments);
        //      gtk_about_dialog_set_website(GTK_ABOUT_DIALOG(about_dialog), website);
@@ -619,6 +629,11 @@ void show_about_window(GtkWidget *parent)
                        "license", license_text,
                        NULL);
 
+#ifdef _WIN32
+    if (bTopMost) {
+        gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menu_item), TRUE);
+    }
+#endif
 }