summaryrefslogtreecommitdiffstats
path: root/chrome/browser/gtk/page_info_window_gtk.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/gtk/page_info_window_gtk.cc')
-rw-r--r--chrome/browser/gtk/page_info_window_gtk.cc170
1 files changed, 0 insertions, 170 deletions
diff --git a/chrome/browser/gtk/page_info_window_gtk.cc b/chrome/browser/gtk/page_info_window_gtk.cc
deleted file mode 100644
index 68b05b2f..0000000
--- a/chrome/browser/gtk/page_info_window_gtk.cc
+++ /dev/null
@@ -1,170 +0,0 @@
-// Copyright (c) 2009 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.
-
-#include <gtk/gtk.h>
-
-#include "build/build_config.h"
-
-#include "app/l10n_util.h"
-#include "app/resource_bundle.h"
-#include "base/compiler_specific.h"
-#include "base/string_util.h"
-#include "chrome/browser/page_info_model.h"
-#include "chrome/browser/page_info_window.h"
-#include "chrome/common/gtk_util.h"
-#include "grit/locale_settings.h"
-#include "grit/generated_resources.h"
-
-
-namespace {
-
-class PageInfoWindowGtk : public PageInfoModel::PageInfoModelObserver {
- public:
- PageInfoWindowGtk(gfx::NativeWindow parent,
- Profile* profile,
- const GURL& url,
- const NavigationEntry::SSLStatus& ssl,
- bool show_history);
- ~PageInfoWindowGtk();
-
- // PageInfoModelObserver implementation:
- virtual void ModelChanged();
-
- // Shows the page info window.
- void Show();
-
- private:
- // Layouts the different sections retrieved from the model.
- void InitContents();
-
- // Returns a widget that contains the UI for the passed |section|.
- GtkWidget* CreateSection(const PageInfoModel::SectionInfo& section);
-
- // The model containing the different sections to display.
- PageInfoModel model_;
-
- // The page info dialog.
- GtkWidget* dialog_;
-
- // The virtual box containing the sections.
- GtkWidget* contents_;
-
- DISALLOW_COPY_AND_ASSIGN(PageInfoWindowGtk);
-};
-
-// Close button callback.
-void OnDialogResponse(GtkDialog* dialog, gpointer data) {
- // "Close" was clicked.
- gtk_widget_destroy(GTK_WIDGET(dialog));
-}
-
-void OnDestroy(GtkDialog* dialog, PageInfoWindowGtk* page_info) {
- delete page_info;
-}
-
-////////////////////////////////////////////////////////////////////////////////
-// PageInfoWindowGtk, public:
-PageInfoWindowGtk::PageInfoWindowGtk(gfx::NativeWindow parent,
- Profile* profile,
- const GURL& url,
- const NavigationEntry::SSLStatus& ssl,
- bool show_history)
- : ALLOW_THIS_IN_INITIALIZER_LIST(model_(profile, url, ssl,
- show_history, this)),
- contents_(NULL) {
- dialog_ = gtk_dialog_new_with_buttons(
- l10n_util::GetStringUTF8(IDS_PAGEINFO_WINDOW_TITLE).c_str(),
- parent,
- // Non-modal.
- GTK_DIALOG_NO_SEPARATOR,
- GTK_STOCK_CLOSE,
- GTK_RESPONSE_CLOSE,
- NULL);
- gtk_window_set_default_size(GTK_WINDOW(dialog_), 500, -1);
- gtk_box_set_spacing(GTK_BOX(GTK_DIALOG(dialog_)->vbox),
- GtkUtil::kContentAreaSpacing);
- GtkUtil::SetWindowIcon(GTK_WINDOW(dialog_));
- g_signal_connect(dialog_, "response", G_CALLBACK(OnDialogResponse), NULL);
- g_signal_connect(dialog_, "destroy", G_CALLBACK(OnDestroy), this);
-
- InitContents();
-}
-
-PageInfoWindowGtk::~PageInfoWindowGtk() {}
-
-void PageInfoWindowGtk::ModelChanged() {
- InitContents();
-}
-
-GtkWidget* PageInfoWindowGtk::CreateSection(
- const PageInfoModel::SectionInfo& section) {
- GtkWidget* vbox = gtk_vbox_new(FALSE, GtkUtil::kControlSpacing);
- GtkWidget* label = gtk_label_new(UTF16ToUTF8(section.title).c_str());
-
- PangoAttrList* attributes = pango_attr_list_new();
- pango_attr_list_insert(attributes,
- pango_attr_weight_new(PANGO_WEIGHT_BOLD));
- gtk_label_set_attributes(GTK_LABEL(label), attributes);
- pango_attr_list_unref(attributes);
- gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
- gtk_box_pack_start(GTK_BOX(vbox), label, FALSE, FALSE, 0);
-
- GtkWidget* section_box = gtk_hbox_new(FALSE, 0);
- ResourceBundle& rb = ResourceBundle::GetSharedInstance();
- GtkWidget* image = gtk_image_new_from_pixbuf(section.state ?
- rb.GetPixbufNamed(IDR_PAGEINFO_GOOD) :
- rb.GetPixbufNamed(IDR_PAGEINFO_BAD));
- gtk_box_pack_start(GTK_BOX(section_box), image, FALSE, FALSE,
- GtkUtil::kControlSpacing);
- gtk_misc_set_alignment(GTK_MISC(image), 0, 0);
-
- GtkWidget* text_box = gtk_vbox_new(FALSE, GtkUtil::kControlSpacing);
- if (!section.head_line.empty()) {
- label = gtk_label_new(UTF16ToUTF8(section.head_line).c_str());
- gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
- gtk_box_pack_start(GTK_BOX(text_box), label , FALSE, FALSE, 0);
- }
- label = gtk_label_new(UTF16ToUTF8(section.description).c_str());
- gtk_misc_set_alignment(GTK_MISC(label), 0, 0);
- gtk_label_set_line_wrap(GTK_LABEL(label), TRUE);
- gtk_box_pack_start(GTK_BOX(text_box), label , FALSE, FALSE, 0);
-
- gtk_box_pack_start(GTK_BOX(section_box), text_box , TRUE, TRUE, 0);
- gtk_box_pack_start(GTK_BOX(vbox), section_box , TRUE, TRUE, 0);
-
- return vbox;
-}
-
-void PageInfoWindowGtk::InitContents() {
- if (contents_)
- gtk_widget_destroy(contents_);
- contents_ = gtk_vbox_new(FALSE, GtkUtil::kContentAreaSpacing);
- for (int i = 0; i < model_.GetSectionCount(); i++) {
- gtk_box_pack_start(GTK_BOX(contents_),
- CreateSection(model_.GetSectionInfo(i)),
- FALSE, FALSE, 0);
- }
- gtk_widget_show_all(contents_);
- gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog_)->vbox), contents_);
-}
-
-void PageInfoWindowGtk::Show() {
- gtk_widget_show(dialog_);
-}
-
-} // namespace
-
-namespace browser {
-
-void ShowPageInfo(gfx::NativeWindow parent,
- Profile* profile,
- const GURL& url,
- const NavigationEntry::SSLStatus& ssl,
- bool show_history) {
- PageInfoWindowGtk* window = new PageInfoWindowGtk(parent, profile, url,
- ssl, show_history);
- window->Show();
-}
-
-} // namespace browser