Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4386)

Unified Diff: chrome/browser/ui/gtk/options/url_picker_dialog_gtk.h

Issue 6099014: Move chrome/browser/gtk to chrome/browser/ui/gtk (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Move browser/gtk/ to browser/ui/gtk/, leave header stubs, update new header guards Created 9 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/gtk/options/url_picker_dialog_gtk.h
diff --git a/chrome/browser/ui/gtk/options/url_picker_dialog_gtk.h b/chrome/browser/ui/gtk/options/url_picker_dialog_gtk.h
new file mode 100644
index 0000000000000000000000000000000000000000..55bd947cca5a32c70393c82d277ca1e19cb7cd8d
--- /dev/null
+++ b/chrome/browser/ui/gtk/options/url_picker_dialog_gtk.h
@@ -0,0 +1,93 @@
+// Copyright (c) 2010 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_UI_GTK_OPTIONS_URL_PICKER_DIALOG_GTK_H_
+#define CHROME_BROWSER_UI_GTK_OPTIONS_URL_PICKER_DIALOG_GTK_H_
+#pragma once
+
+#include <string>
+
+#include "app/gtk_signal.h"
+#include "base/basictypes.h"
+#include "base/callback.h"
+#include "chrome/browser/gtk/gtk_tree.h"
+#include "chrome/browser/history/history.h"
+
+class AccessibleWidgetHelper;
+class GURL;
+class Profile;
+class PossibleURLModel;
+
+class UrlPickerDialogGtk : public gtk_tree::TableAdapter::Delegate {
+ public:
+ typedef Callback1<const GURL&>::Type UrlPickerCallback;
+
+ UrlPickerDialogGtk(UrlPickerCallback* callback,
+ Profile* profile,
+ GtkWindow* parent);
+
+ ~UrlPickerDialogGtk();
+
+ // gtk_tree::TableAdapter::Delegate implementation.
+ virtual void SetColumnValues(int row, GtkTreeIter* iter);
+
+ private:
+ // Call the callback based on url entry.
+ void AddURL();
+
+ // Set sensitivity of buttons based on url entry state.
+ void EnableControls();
+
+ // Return the entry-formatted url for path in the sorted model.
+ std::string GetURLForPath(GtkTreePath* path) const;
+
+ // GTK sorting callbacks.
+ static gint CompareTitle(GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b,
+ gpointer window);
+ static gint CompareURL(GtkTreeModel* model, GtkTreeIter* a, GtkTreeIter* b,
+ gpointer window);
+
+ CHROMEGTK_CALLBACK_0(UrlPickerDialogGtk, void, OnUrlEntryChanged);
+ CHROMEGTK_CALLBACK_2(UrlPickerDialogGtk, void, OnHistoryRowActivated,
+ GtkTreePath*, GtkTreeViewColumn*);
+ CHROMEGTK_CALLBACK_1(UrlPickerDialogGtk, void, OnResponse, int);
+ CHROMEGTK_CALLBACK_0(UrlPickerDialogGtk, void, OnWindowDestroy);
+
+ // Callback for user selecting rows in recent history list.
+ CHROMEG_CALLBACK_0(UrlPickerDialogGtk, void, OnHistorySelectionChanged,
+ GtkTreeSelection*)
+
+ // The dialog window.
+ GtkWidget* dialog_;
+
+ // The text entry for manually adding an URL.
+ GtkWidget* url_entry_;
+
+ // The add button (we need a reference to it so we can de-activate it when the
+ // |url_entry_| is empty.)
+ GtkWidget* add_button_;
+
+ // The recent history list.
+ GtkWidget* history_tree_;
+ GtkListStore* history_list_store_;
+ GtkTreeModel* history_list_sort_;
+ GtkTreeSelection* history_selection_;
+
+ // Profile.
+ Profile* profile_;
+
+ // The table model.
+ scoped_ptr<PossibleURLModel> url_table_model_;
+ scoped_ptr<gtk_tree::TableAdapter> url_table_adapter_;
+
+ // Called if the user selects an url.
+ UrlPickerCallback* callback_;
+
+ // Helper object to manage accessibility metadata.
+ scoped_ptr<AccessibleWidgetHelper> accessible_widget_helper_;
+
+ DISALLOW_COPY_AND_ASSIGN(UrlPickerDialogGtk);
+};
+
+#endif // CHROME_BROWSER_UI_GTK_OPTIONS_URL_PICKER_DIALOG_GTK_H_

Powered by Google App Engine
This is Rietveld 408576698