コード例 #1
0
ファイル: ekiga-window.cpp プロジェクト: GNOME/ekiga
static void
ekiga_window_init_actions_toolbar (EkigaWindow *mw)
{
  GtkWidget *image = NULL;
  GtkWidget *button = NULL;
  GtkWidget *switcher = NULL;

  g_return_if_fail (EKIGA_IS_WINDOW (mw));

  mw->priv->actions_toolbar = gtk_header_bar_new ();
  gtk_window_set_titlebar (GTK_WINDOW (mw), mw->priv->actions_toolbar);

  /* Start packing buttons */
  button = gtk_button_new ();
  image = gtk_image_new_from_icon_name ("call-start-symbolic", GTK_ICON_SIZE_MENU);
  gtk_button_set_image (GTK_BUTTON (button), image);
  gtk_widget_set_tooltip_text (GTK_WIDGET (button),
                               _("Call the selected contact"));
  gtk_actionable_set_detailed_action_name (GTK_ACTIONABLE (button), "win.call");
  gtk_header_bar_pack_start (GTK_HEADER_BAR (mw->priv->actions_toolbar), button);

  mw->priv->preview_button = gtk_toggle_button_new ();
  image = gtk_image_new_from_icon_name ("camera-web-symbolic", GTK_ICON_SIZE_MENU);
  gtk_button_set_image (GTK_BUTTON (mw->priv->preview_button), image);
  gtk_widget_set_tooltip_text (GTK_WIDGET (mw->priv->preview_button),
                               _("Display images from your camera device"));

  gtk_actionable_set_detailed_action_name (GTK_ACTIONABLE (mw->priv->preview_button),
                                           "win.enable-preview");
  gtk_header_bar_pack_start (GTK_HEADER_BAR (mw->priv->actions_toolbar), mw->priv->preview_button);

  switcher = gtk_stack_switcher_new ();
  gtk_stack_switcher_set_stack (GTK_STACK_SWITCHER (switcher), GTK_STACK (mw->priv->main_stack));
  gtk_header_bar_set_custom_title (GTK_HEADER_BAR (mw->priv->actions_toolbar), switcher);
  gtk_widget_set_margin_end (GTK_WIDGET (switcher), 6);

  mw->priv->menu_button = gtk_menu_button_new ();
  g_object_set (G_OBJECT (mw->priv->menu_button), "use-popover", true, NULL);
  image = gtk_image_new_from_icon_name ("open-menu-symbolic", GTK_ICON_SIZE_MENU);
  gtk_button_set_image (GTK_BUTTON (mw->priv->menu_button), image);
  gtk_header_bar_pack_end (GTK_HEADER_BAR (mw->priv->actions_toolbar), mw->priv->menu_button);
  gtk_widget_show_all (mw->priv->actions_toolbar);

  gtk_header_bar_set_show_close_button (GTK_HEADER_BAR (mw->priv->actions_toolbar), TRUE);
}
コード例 #2
0
ファイル: kanjipadwindow.c プロジェクト: kyoushuu/gwaei
static void 
gw_kanjipadwindow_constructed (GObject *object)
{
    GwKanjipadWindow *window;
    GwKanjipadWindowPrivate *priv;
    GtkAccelGroup *accelgroup;

    //Chain the parent class
    {
      G_OBJECT_CLASS (gw_kanjipadwindow_parent_class)->constructed (object);
    }

    window = GW_KANJIPADWINDOW (object);
    priv = window->priv;
    accelgroup = gw_window_get_accel_group (GW_WINDOW (window));

    gw_kanjipadwindow_map_actions (G_ACTION_MAP (window), window);

    gtk_window_set_title (GTK_WINDOW (window), gettext("gWaei Kanjipad"));
    gtk_window_set_resizable (GTK_WINDOW (window), FALSE);
    gtk_window_set_type_hint (GTK_WINDOW (window), GDK_WINDOW_TYPE_HINT_UTILITY);
    gtk_window_set_skip_taskbar_hint (GTK_WINDOW (window), TRUE);
    gtk_window_set_skip_pager_hint (GTK_WINDOW (window), TRUE);
    gtk_window_set_destroy_with_parent (GTK_WINDOW (window), TRUE);
    gtk_window_set_icon_name (GTK_WINDOW (window), "gwaei");

    priv->drawingarea = GTK_DRAWING_AREA (gw_window_get_object (GW_WINDOW (window), "kdrawing_area"));
    priv->candidates = GTK_DRAWING_AREA (gw_window_get_object (GW_WINDOW (window), "kguesses"));
    priv->close_button = GTK_BUTTON (gw_window_get_object (GW_WINDOW (window), "close_button"));

    gw_kanjipadwindow_initialize_drawingarea (window);
    gw_kanjipadwindow_initialize_candidates (window);
    _kanjipadwindow_initialize_engine (window);

    gtk_widget_add_accelerator (GTK_WIDGET (priv->close_button), "activate", 
      accelgroup, (GDK_KEY_Escape), 0, GTK_ACCEL_VISIBLE);
    gtk_actionable_set_detailed_action_name (GTK_ACTIONABLE (priv->close_button), "win.close");

    gw_window_unload_xml (GW_WINDOW (window));
}
コード例 #3
0
ファイル: settingswindow.c プロジェクト: kyoushuu/gwaei
static void
gw_settingswindow_init_styles (GwSettingsWindow *window)
{
    //Declarations
    GtkToolbar *toolbar;
    GtkStyleContext *context;
    GtkWidget *widget;


    //Vocabulary list pane
    widget = GTK_WIDGET (gw_window_get_object (GW_WINDOW (window), "dictionary_scrolledwindow"));
    context = gtk_widget_get_style_context (widget);
    gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM);
    gtk_widget_reset_style (widget);

    toolbar = GTK_TOOLBAR (gw_window_get_object (GW_WINDOW (window), "dictionary_toolbar"));
    widget = GTK_WIDGET (toolbar);
    context = gtk_widget_get_style_context (widget);
    gtk_style_context_add_class (context, "inline-toolbar");
    gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP);
    gtk_widget_reset_style (widget);

    {
      GtkIconTheme *theme;
      GtkToolItem *item;

      theme = gtk_icon_theme_get_default ();

      item = gtk_tool_button_new_from_stock (GTK_STOCK_ADD);
      if (gtk_icon_theme_has_icon (theme, "list-add-symbolic"))
      {
        gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), "list-add-symbolic");
        gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON (item), NULL);
      }
      gtk_toolbar_insert (toolbar, item, -1);
      gtk_actionable_set_detailed_action_name (GTK_ACTIONABLE (item), "win.add-dictionary");
      gtk_widget_show (GTK_WIDGET (item));
      
      item = gtk_tool_button_new_from_stock (GTK_STOCK_REMOVE);
      if (gtk_icon_theme_has_icon (theme, "list-remove-symbolic"))
      {
        gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), "list-remove-symbolic");
        gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON (item), NULL);
      }
      gtk_toolbar_insert (toolbar, item, -1);
      gtk_actionable_set_detailed_action_name (GTK_ACTIONABLE (item), "win.remove-dictionary");
      gtk_widget_show (GTK_WIDGET (item));
    }

    //Vocabulary listitem pane
    widget = GTK_WIDGET (gw_window_get_object (GW_WINDOW (window), "plugin_scrolledwindow"));
    context = gtk_widget_get_style_context (widget);
    gtk_style_context_set_junction_sides (context, GTK_JUNCTION_BOTTOM);
    gtk_widget_reset_style (widget);

    toolbar = GTK_TOOLBAR (gw_window_get_object (GW_WINDOW (window), "plugin_toolbar"));
    widget = GTK_WIDGET (toolbar);
    context = gtk_widget_get_style_context (widget);
    gtk_style_context_add_class (context, "inline-toolbar");
    gtk_style_context_set_junction_sides (context, GTK_JUNCTION_TOP);
    gtk_widget_reset_style (widget);

    {
      GtkIconTheme *theme;
      GtkToolItem *item;

      theme = gtk_icon_theme_get_default ();

      item = gtk_tool_button_new_from_stock (GTK_STOCK_ADD);
      if (gtk_icon_theme_has_icon (theme, "list-add-symbolic"))
      {
        gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), "list-add-symbolic");
        gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON (item), NULL);
      }
      gtk_toolbar_insert (toolbar, item, -1);
      gtk_actionable_set_detailed_action_name (GTK_ACTIONABLE (item), "win.add-plugin");
      gtk_widget_show (GTK_WIDGET (item));
      
      item = gtk_tool_button_new_from_stock (GTK_STOCK_REMOVE);
      if (gtk_icon_theme_has_icon (theme, "list-remove-symbolic"))
      {
        gtk_tool_button_set_icon_name (GTK_TOOL_BUTTON (item), "list-remove-symbolic");
        gtk_tool_button_set_stock_id (GTK_TOOL_BUTTON (item), NULL);
      }
      gtk_toolbar_insert (toolbar, item, -1);
      gtk_actionable_set_detailed_action_name (GTK_ACTIONABLE (item), "win.remove-plugin");
      gtk_widget_show (GTK_WIDGET (item));
    }
}