Changeset 157218 in webkit
- Timestamp:
- Oct 10, 2013 6:19:12 AM (11 years ago)
- Location:
- trunk/Tools
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Tools/ChangeLog
r157201 r157218 1 2013-10-10 Andres Gomez <agomez@igalia.com> 2 3 [GTK] Provide search functionality to MiniBrowser 4 https://bugs.webkit.org/show_bug.cgi?id=117631 5 6 Reviewed by Carlos Garcia Campos. 7 8 Adds a search bar to MiniBrowser with the minimum functionality 9 and a new button to the toolbar for showing the new search 10 bar. Typical keyboard shortcuts are also added. 11 12 * MiniBrowser/gtk/BrowserSearchBar.c: Added. 13 (doSearch): 14 (searchNext): 15 (searchPrevious): 16 (searchCloseButtonClickedCallback): 17 (searchEntryMenuIconPressedCallback): 18 (searchEntryClearIconReleasedCallback): 19 (searchEntryChangedCallback): 20 (searchEntryActivatedCallback): 21 (searchPrevButtonClickedCallback): 22 (searchNextButtonClickedCallback): 23 (searchMenuCheckButtonToggledCallback): 24 (browser_search_bar_init): 25 (browserSearchBarFinalize): 26 (browser_search_bar_class_init): 27 (browser_search_bar_new): 28 (browser_search_bar_add_accelerators): 29 (browser_search_bar_open): 30 (browser_search_bar_close): 31 * MiniBrowser/gtk/BrowserSearchBar.h: Added. 32 * MiniBrowser/gtk/BrowserWindow.c: 33 (webViewEnterFullScreen): Closes new search bar. 34 (webViewLeaveFullScreen): Opens new search bar if previously 35 visible. 36 (searchCallback): Added. Shows and hides the new search bar. 37 (browser_window_init): Added search button to the toolbar. 38 (browserWindowConstructed): Creates the new search bar. 39 * MiniBrowser/gtk/GNUmakefile.am: Added new files to compilation. 40 1 41 2013-10-09 Gustavo Noronha Silva <gustavo.noronha@collabora.com> 2 42 -
trunk/Tools/MiniBrowser/gtk/BrowserWindow.c
r154594 r157218 29 29 30 30 #include "BrowserDownloadsBar.h" 31 #include "BrowserSearchBar.h" 31 32 #include "BrowserSettingsDialog.h" 32 33 #include <gdk/gdkkeysyms.h> … … 42 43 GtkWindow parent; 43 44 45 GtkAccelGroup *accelGroup; 44 46 GtkWidget *mainBox; 45 47 GtkWidget *toolbar; … … 53 55 WebKitWebView *webView; 54 56 GtkWidget *downloadsBar; 57 BrowserSearchBar *searchBar; 58 gboolean searchBarVisible; 55 59 GdkPixbuf *favicon; 56 60 GtkWidget *reloadOrStopButton; … … 309 313 window->fullScreenMessageLabelId = g_timeout_add_seconds(2, (GSourceFunc)fullScreenMessageTimeoutCallback, window); 310 314 gtk_widget_hide(window->toolbar); 315 window->searchBarVisible = gtk_widget_get_visible(GTK_WIDGET(window->searchBar)); 316 browser_search_bar_close(window->searchBar); 311 317 312 318 return FALSE; … … 321 327 gtk_widget_hide(window->fullScreenMessageLabel); 322 328 gtk_widget_show(window->toolbar); 329 if (window->searchBarVisible) { 330 // Opening the search bar steals the focus. Usually, we want 331 // this but not when coming back from fullscreen. 332 GtkWidget *focusWidget = gtk_window_get_focus(GTK_WINDOW(window)); 333 browser_search_bar_open(window->searchBar); 334 gtk_window_set_focus(GTK_WINDOW(window), focusWidget); 335 } 323 336 324 337 return FALSE; … … 479 492 } 480 493 494 static void searchCallback(BrowserWindow *window) 495 { 496 browser_search_bar_open(window->searchBar); 497 } 498 481 499 static void browserWindowFinalize(GObject *gObject) 482 500 { … … 485 503 g_object_unref(window->favicon); 486 504 window->favicon = NULL; 505 } 506 507 if (window->accelGroup) { 508 g_object_unref(window->accelGroup); 509 window->accelGroup = NULL; 487 510 } 488 511 … … 535 558 536 559 /* Keyboard accelerators */ 537 GtkAccelGroup *accelGroup = gtk_accel_group_new(); 538 gtk_window_add_accel_group(GTK_WINDOW(window), accelGroup); 539 g_object_unref(accelGroup); 560 window->accelGroup = gtk_accel_group_new(); 561 gtk_window_add_accel_group(GTK_WINDOW(window), window->accelGroup); 540 562 541 563 GtkWidget *toolbar = gtk_toolbar_new(); … … 575 597 gtk_widget_show(GTK_WIDGET(item)); 576 598 599 item = gtk_tool_button_new_from_stock(GTK_STOCK_FIND); 600 g_signal_connect_swapped(item, "clicked", G_CALLBACK(searchCallback), window); 601 gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1); 602 gtk_widget_add_accelerator(GTK_WIDGET(item), "clicked", window->accelGroup, GDK_KEY_F, GDK_CONTROL_MASK, GTK_ACCEL_VISIBLE); 603 gtk_widget_show(GTK_WIDGET(item)); 604 577 605 item = gtk_tool_item_new(); 578 606 gtk_tool_item_set_expand(item, TRUE); … … 586 614 g_signal_connect_swapped(item, "clicked", G_CALLBACK(reloadOrStopCallback), window); 587 615 gtk_toolbar_insert(GTK_TOOLBAR(toolbar), item, -1); 588 gtk_widget_add_accelerator(window->reloadOrStopButton, "clicked", accelGroup, GDK_KEY_F5, 0, GTK_ACCEL_VISIBLE);616 gtk_widget_add_accelerator(window->reloadOrStopButton, "clicked", window->accelGroup, GDK_KEY_F5, 0, GTK_ACCEL_VISIBLE); 589 617 gtk_widget_show(window->reloadOrStopButton); 590 618 … … 620 648 g_signal_connect(webkit_web_view_get_context(window->webView), "download-started", G_CALLBACK(downloadStarted), window); 621 649 650 window->searchBar = BROWSER_SEARCH_BAR(browser_search_bar_new(window->webView)); 651 browser_search_bar_add_accelerators(window->searchBar, window->accelGroup); 652 gtk_box_pack_start(GTK_BOX(window->mainBox), GTK_WIDGET(window->searchBar), FALSE, FALSE, 0); 653 622 654 WebKitBackForwardList *backForwadlist = webkit_web_view_get_back_forward_list(window->webView); 623 655 g_signal_connect(backForwadlist, "changed", G_CALLBACK(backForwadlistChanged), window); -
trunk/Tools/MiniBrowser/gtk/GNUmakefile.am
r155945 r157218 24 24 Tools/MiniBrowser/gtk/BrowserDownloadsBar.h \ 25 25 Tools/MiniBrowser/gtk/BrowserDownloadsBar.c \ 26 Tools/MiniBrowser/gtk/BrowserSearchBar.h \ 27 Tools/MiniBrowser/gtk/BrowserSearchBar.c \ 26 28 Tools/MiniBrowser/gtk/BrowserSettingsDialog.h \ 27 29 Tools/MiniBrowser/gtk/BrowserSettingsDialog.c \
Note: See TracChangeset
for help on using the changeset viewer.