Author: rpmcruz
Date: Wed Oct 15 16:56:45 2008
New Revision: 52269
URL: http://svn.opensuse.org/viewcvs/yast?rev=52269&view=rev
Log:
* src/ygtkrichtext.c: ygtkrichtext popup menu treatment this time.
* src/YGPackageSelector.cc: set window title (don't keep
initializing...).
Modified:
trunk/gtk/ChangeLog
trunk/gtk/src/YGPackageSelector.cc
trunk/gtk/src/ygtkrichtext.c
Modified: trunk/gtk/ChangeLog
URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/ChangeLog?rev=52269&r1=52268&r2=52269&view=diff
==============================================================================
--- trunk/gtk/ChangeLog (original)
+++ trunk/gtk/ChangeLog Wed Oct 15 16:56:45 2008
@@ -1,3 +1,10 @@
+2008-10-15 Ricardo Cruz
+
+ * src/ygtkrichtext.c: ygtkrichtext popup menu treatment this time.
+
+ * src/YGPackageSelector.cc: set window title (don't keep
+ initializing...).
+
2008-10-14 Ricardo Cruz
* src/YGUI.h: enable rich text tables for webkit.
Modified: trunk/gtk/src/YGPackageSelector.cc
URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/YGPackageSelector.cc?rev=52269&r1=52268&r2=52269&view=diff
==============================================================================
--- trunk/gtk/src/YGPackageSelector.cc (original)
+++ trunk/gtk/src/YGPackageSelector.cc Wed Oct 15 16:56:45 2008
@@ -2486,8 +2486,9 @@
YGtkWizard *wizard = YGTK_WIZARD (getWidget());
ygtk_wizard_set_header_icon (wizard,
THEMEDIR "/icons/22x22/apps/yast-software.png");
- ygtk_wizard_set_header_text (wizard,
- onlineUpdateMode() ? _("Online Update") : _("Software Manager"));
+ const char *title = onlineUpdateMode() ? _("Online Update") : _("Software Manager");
+ ygtk_wizard_set_header_text (wizard, title);
+ YGDialog::currentDialog()->setTitle (title);
ygtk_wizard_set_help_text (wizard, _("Please wait..."));
ygtk_wizard_set_button_label (wizard, wizard->abort_button, _("_Cancel"));
Modified: trunk/gtk/src/ygtkrichtext.c
URL: http://svn.opensuse.org/viewcvs/yast/trunk/gtk/src/ygtkrichtext.c?rev=52269&r1=52268&r2=52269&view=diff
==============================================================================
--- trunk/gtk/src/ygtkrichtext.c (original)
+++ trunk/gtk/src/ygtkrichtext.c Wed Oct 15 16:56:45 2008
@@ -7,7 +7,7 @@
#include
#include "ygtkrichtext.h"
-#include
+#include
#include
#define IDENT_MARGIN 20
@@ -469,6 +469,41 @@
return ret;
}
+// get rid of editable popup items
+
+static void copy_activate_cb (GtkMenuItem *item, GtkTextBuffer *buffer)
+{ gtk_text_buffer_copy_clipboard (buffer, gtk_clipboard_get (GDK_SELECTION_CLIPBOARD)); }
+static void select_all_activate_cb (GtkMenuItem *item, GtkTextBuffer *buffer)
+{
+ GtkTextIter start, end;
+ gtk_text_buffer_get_bounds (buffer, &start, &end);
+ gtk_text_buffer_select_range (buffer, &start, &end);
+}
+
+static void ygtk_rich_text_populate_popup (GtkTextView *view, GtkMenu *menu)
+{
+ GtkTextBuffer *buffer = gtk_text_view_get_buffer (view);
+
+ GList *items = gtk_container_get_children (GTK_CONTAINER (menu)), *i;
+ for (i = items; i; i = i->next)
+ gtk_container_remove (GTK_CONTAINER (menu), i->data);
+ g_list_free (items);
+
+ GtkWidget *item;
+ item = gtk_image_menu_item_new_from_stock (GTK_STOCK_COPY, NULL);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ if (gtk_text_buffer_get_has_selection (buffer))
+ g_signal_connect (item, "activate", G_CALLBACK (copy_activate_cb), buffer);
+ else
+ gtk_widget_set_sensitive (item, FALSE);
+ item = gtk_separator_menu_item_new();
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ item = gtk_image_menu_item_new_from_stock (GTK_STOCK_SELECT_ALL, NULL);
+ gtk_menu_shell_append (GTK_MENU_SHELL (menu), item);
+ g_signal_connect (item, "activate", G_CALLBACK (select_all_activate_cb), buffer);
+ gtk_widget_show_all (menu);
+}
+
/* Rich Text parsing methods. */
typedef struct _HTMLList
@@ -915,6 +950,9 @@
void ygtk_rich_text_class_init (YGtkRichTextClass *klass)
{
+ GtkTextViewClass *gtktextview_class = GTK_TEXT_VIEW_CLASS (klass);
+ gtktextview_class->populate_popup = ygtk_rich_text_populate_popup;
+
GtkWidgetClass *gtkwidget_class = GTK_WIDGET_CLASS (klass);
gtkwidget_class->realize = ygtk_rich_text_realize;
gtkwidget_class->motion_notify_event = ygtk_rich_text_motion_notify_event;
--
To unsubscribe, e-mail: yast-commit+unsubscribe@opensuse.org
For additional commands, e-mail: yast-commit+help@opensuse.org