]> spindle.queued.net Git - midori/commitdiff
Always enable Select All if an editable widget is focussed.
authorChristian Dywan <christian@twotoasts.de>
Fri, 4 Jan 2008 07:41:20 +0000 (08:41 +0100)
committerChristian Dywan <christian@twotoasts.de>
Fri, 4 Jan 2008 07:41:20 +0000 (08:41 +0100)
src/helpers.c

index ed0a5a27fab3530cd4df3ee6457f43a5365fcd85..2981931c0b68ef4d77279c2a222b17adc92d3e14 100644 (file)
@@ -331,11 +331,10 @@ void update_statusbar(CBrowser* browser)
 void update_edit_items(CBrowser* browser)
 {
     GtkWidget* widget = gtk_window_get_focus(GTK_WINDOW(browser->window));
-    gboolean hasSelection = FALSE;
     gboolean canCut = FALSE; gboolean canCopy = FALSE; gboolean canPaste = FALSE;
     if(widget && (WEBKIT_IS_WEB_VIEW(widget) || GTK_IS_EDITABLE(widget)))
     {
-        hasSelection = WEBKIT_IS_WEB_VIEW(widget)
+        gboolean hasSelection = WEBKIT_IS_WEB_VIEW(widget)
          ? webkit_web_view_has_selection(WEBKIT_WEB_VIEW(widget))
          : gtk_editable_get_selection_bounds(GTK_EDITABLE(widget), NULL, NULL);
         canCut = WEBKIT_IS_WEB_VIEW(widget)
@@ -347,12 +346,14 @@ void update_edit_items(CBrowser* browser)
         canPaste = WEBKIT_IS_WEB_VIEW(widget)
          ? webkit_web_view_can_paste_clipboard(WEBKIT_WEB_VIEW(widget))
          : gtk_editable_get_editable(GTK_EDITABLE(widget));
+        action_set_sensitive("SelectAll", TRUE, browser);
     }
+    else
+        action_set_sensitive("SelectAll", FALSE, browser);
     action_set_sensitive("Cut", canCut, browser);
     action_set_sensitive("Copy", canCopy, browser);
     action_set_sensitive("Paste", canPaste, browser);
     action_set_sensitive("Delete", canCut, browser);
-    action_set_sensitive("SelectAll", !hasSelection, browser);
 }
 
 void update_gui_state(CBrowser* browser)