diff options
Diffstat (limited to 'src/glade-window.c')
-rw-r--r-- | src/glade-window.c | 83 |
1 files changed, 47 insertions, 36 deletions
diff --git a/src/glade-window.c b/src/glade-window.c index 3b3ae23e..a498579c 100644 --- a/src/glade-window.c +++ b/src/glade-window.c @@ -1122,48 +1122,50 @@ save (GladeWindow * window, GladeProject * project, const gchar * path) return; /* check for external modification to the project file */ - mtime = glade_util_get_file_mtime (glade_project_get_path (project), NULL); - - if (mtime > glade_project_get_file_mtime (project)) + if (glade_project_get_path (project)) { + mtime = glade_util_get_file_mtime (glade_project_get_path (project), NULL); - dialog = gtk_message_dialog_new (GTK_WINDOW (window), - GTK_DIALOG_MODAL, - GTK_MESSAGE_WARNING, - GTK_BUTTONS_NONE, - _ - ("The file %s has been modified since reading it"), - glade_project_get_path (project)); + if (mtime > glade_project_get_file_mtime (project)) + { - gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), - _ - ("If you save it, all the external changes could be lost. Save it anyway?")); + dialog = gtk_message_dialog_new (GTK_WINDOW (window), + GTK_DIALOG_MODAL, + GTK_MESSAGE_WARNING, + GTK_BUTTONS_NONE, + _("The file %s has been modified since reading it"), + glade_project_get_path (project)); - gtk_window_set_title (GTK_WINDOW (dialog), ""); + gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog), + _("If you save it, all the external changes could be lost. " + "Save it anyway?")); - button = gtk_button_new_with_mnemonic (_("_Save Anyway")); - gtk_button_set_image (GTK_BUTTON (button), - gtk_image_new_from_stock (GTK_STOCK_SAVE, - GTK_ICON_SIZE_BUTTON)); - gtk_widget_show (button); + gtk_window_set_title (GTK_WINDOW (dialog), ""); - gtk_dialog_add_action_widget (GTK_DIALOG (dialog), button, - GTK_RESPONSE_ACCEPT); - gtk_dialog_add_button (GTK_DIALOG (dialog), _("_Don't Save"), - GTK_RESPONSE_REJECT); + button = gtk_button_new_with_mnemonic (_("_Save Anyway")); + gtk_button_set_image (GTK_BUTTON (button), + gtk_image_new_from_stock (GTK_STOCK_SAVE, + GTK_ICON_SIZE_BUTTON)); + gtk_widget_show (button); - gtk_dialog_set_default_response (GTK_DIALOG (dialog), - GTK_RESPONSE_REJECT); + gtk_dialog_add_action_widget (GTK_DIALOG (dialog), button, + GTK_RESPONSE_ACCEPT); + gtk_dialog_add_button (GTK_DIALOG (dialog), _("_Don't Save"), + GTK_RESPONSE_REJECT); - response = gtk_dialog_run (GTK_DIALOG (dialog)); + gtk_dialog_set_default_response (GTK_DIALOG (dialog), + GTK_RESPONSE_REJECT); - gtk_widget_destroy (dialog); + response = gtk_dialog_run (GTK_DIALOG (dialog)); - if (response == GTK_RESPONSE_REJECT) - { - g_free (display_path); - return; - } + gtk_widget_destroy (dialog); + + if (response == GTK_RESPONSE_REJECT) + { + g_free (display_path); + return; + } + } } /* Interestingly; we cannot use `path' after glade_project_reset_path @@ -2316,7 +2318,7 @@ static guint n_view_entries = G_N_ELEMENTS (view_entries); static GtkRadioActionEntry radio_entries[] = { - {"IconsAndLabels", NULL, N_("Text beside icons"), NULL, + {"IconsAndLabels", NULL, N_("Text _beside icons"), NULL, N_("Display items as text beside icons"), GLADE_ITEM_ICON_AND_LABEL}, {"IconsOnly", NULL, N_("_Icons only"), NULL, @@ -2544,8 +2546,7 @@ create_drag_resize_tool_button (GtkToolbar * toolbar) gtk_tool_button_set_label (GTK_TOOL_BUTTON (button), _("Drag Resize")); gtk_tool_item_set_tooltip_text (GTK_TOOL_ITEM (button), - _ - ("Drag and resize widgets in the workspace")); + _("Drag and resize widgets in the workspace")); gtk_widget_show (GTK_WIDGET (button)); gtk_widget_show (image); @@ -3275,6 +3276,12 @@ glade_window_config_load (GladeWindow * window) load_paned_position (config, window->priv->right_pane, "right_pane", 220); } +static gboolean +raise_window_idle (GtkWindow *window) +{ + gtk_window_present (window); + return FALSE; +} static void show_dock_first_time (GladeWindow * window, @@ -3298,7 +3305,11 @@ show_dock_first_time (GladeWindow * window, &maximized); if (detached == 1) - gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), FALSE); + { + gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), FALSE); + + g_idle_add ((GSourceFunc)raise_window_idle, gtk_widget_get_toplevel (dock->widget)); + } if (maximized) gtk_window_maximize (GTK_WINDOW (gtk_widget_get_toplevel (dock->widget))); |