anjuta r4674 - in trunk: . plugins/message-view
- From: sgranjoux svn gnome org
- To: svn-commits-list gnome org
- Subject: anjuta r4674 - in trunk: . plugins/message-view
- Date: Sun, 1 Feb 2009 19:46:51 +0000 (UTC)
Author: sgranjoux
Date: Sun Feb 1 19:46:51 2009
New Revision: 4674
URL: http://svn.gnome.org/viewvc/anjuta?rev=4674&view=rev
Log:
* plugins/message-view/plugin.c,
plugins/message-view/message-view.c,
plugins/message-view/message-view.h,
plugins/message-view/anjuta-message-manager.ui:
Fix #567728 â Copypasting build errors, messages and warnings
Modified:
trunk/ChangeLog
trunk/plugins/message-view/anjuta-message-manager.ui
trunk/plugins/message-view/message-view.c
trunk/plugins/message-view/message-view.h
trunk/plugins/message-view/plugin.c
Modified: trunk/plugins/message-view/anjuta-message-manager.ui
==============================================================================
--- trunk/plugins/message-view/anjuta-message-manager.ui (original)
+++ trunk/plugins/message-view/anjuta-message-manager.ui Sun Feb 1 19:46:51 2009
@@ -17,6 +17,7 @@
</menu>
</popup>
<popup name="PopupMessageView">
+ <menuitem name="CopyMessage" action="ActionMessageCopy" />
<menuitem name="NextMessage" action="ActionMessageNext" />
<menuitem name="PrevMessage" action="ActionMessagePrev" />
<menuitem name="SaveMessage" action="ActionMessageSave" />
Modified: trunk/plugins/message-view/message-view.c
==============================================================================
--- trunk/plugins/message-view/message-view.c (original)
+++ trunk/plugins/message-view/message-view.c Sun Feb 1 19:46:51 2009
@@ -1189,6 +1189,45 @@
}
}
+void message_view_copy(MessageView* view)
+{
+ GtkTreeIter iter;
+ GtkTreeModel *model;
+ GtkTreeSelection *select;
+ GtkTreePath *path;
+
+ model = view->privat->model;
+ select = gtk_tree_view_get_selection (GTK_TREE_VIEW
+ (view->privat->tree_view));
+
+ if (gtk_tree_selection_get_selected (select, &model, &iter))
+ {
+ Message *message;
+ const gchar *text;
+ GtkClipboard *clipboard;
+
+ gtk_tree_model_get (model, &iter, COLUMN_MESSAGE, &message, -1);
+
+ if (message->details && (*message->details != '\0'))
+ {
+ text = message->details;
+ }
+ else if (message->summary && (*message->summary != '\0'))
+ {
+ text = message->summary;
+ }
+ else
+ {
+ /* No message */
+ return;
+ }
+
+ clipboard = gtk_widget_get_clipboard (GTK_WIDGET (view), GDK_SELECTION_CLIPBOARD);
+
+ gtk_clipboard_set_text (clipboard, text, -1);
+ }
+}
+
/* Preferences notifications */
static void
pref_change_color (MessageView *mview, IAnjutaMessageViewType type,
Modified: trunk/plugins/message-view/message-view.h
==============================================================================
--- trunk/plugins/message-view/message-view.h (original)
+++ trunk/plugins/message-view/message-view.h Sun Feb 1 19:46:51 2009
@@ -63,6 +63,7 @@
void message_view_next(MessageView* view);
void message_view_previous(MessageView* view);
void message_view_save(MessageView* view);
+void message_view_copy(MessageView* view);
gboolean message_view_serialize (MessageView *view,
AnjutaSerializer *serializer);
gboolean message_view_deserialize (MessageView *view,
Modified: trunk/plugins/message-view/plugin.c
==============================================================================
--- trunk/plugins/message-view/plugin.c (original)
+++ trunk/plugins/message-view/plugin.c Sun Feb 1 19:46:51 2009
@@ -56,6 +56,14 @@
message_view_previous(view);
}
+static void on_copy_message(GtkAction* menuitem, MessageViewPlugin *plugin)
+{
+ AnjutaMsgman* msgman = ANJUTA_MSGMAN(plugin->msgman);
+ MessageView* view = anjuta_msgman_get_current_view(msgman);
+ if (view != NULL)
+ message_view_copy(view);
+}
+
static void on_save_message(GtkAction* menuitem, MessageViewPlugin *plugin)
{
AnjutaMsgman* msgman = ANJUTA_MSGMAN(plugin->msgman);
@@ -66,6 +74,10 @@
static GtkActionEntry actions_goto[] = {
{ "ActionMenuGoto", NULL, N_("_Goto"), NULL, NULL, NULL},
+ { "ActionMessageCopy", GTK_STOCK_COPY,
+ N_("_Copy Message"), NULL,
+ N_("Copy message"),
+ G_CALLBACK (on_copy_message)},
{ "ActionMessageNext", ANJUTA_STOCK_NEXT_MESSAGE,
N_("_Next Message"), "<control><alt>n",
N_("Next message"),
@@ -87,12 +99,15 @@
"ActionMessageNext");
GtkAction* action_prev = anjuta_ui_get_action (ui, "ActionGroupGotoMessages",
"ActionMessagePrev");
+ GtkAction* action_copy = anjuta_ui_get_action (ui, "ActionGroupGotoMessages",
+ "ActionMessageCopy");
gboolean sensitive = (anjuta_msgman_get_current_view(msgman) != NULL);
if (sensitive)
anjuta_shell_present_widget (ANJUTA_PLUGIN (plugin)->shell,
GTK_WIDGET(msgman), NULL);
g_object_set (G_OBJECT (action_next), "sensitive", sensitive, NULL);
g_object_set (G_OBJECT (action_prev), "sensitive", sensitive, NULL);
+ g_object_set (G_OBJECT (action_copy), "sensitive", sensitive, NULL);
}
static gpointer parent_class;
@@ -208,8 +223,11 @@
"ActionMessageNext");
GtkAction* action_prev = anjuta_ui_get_action (ui, "ActionGroupGotoMessages",
"ActionMessagePrev");
+ GtkAction* action_copy = anjuta_ui_get_action (ui, "ActionGroupGotoMessages",
+ "ActionMessageCopy");
g_object_set (G_OBJECT (action_next), "sensitive", FALSE, NULL);
g_object_set (G_OBJECT (action_prev), "sensitive", FALSE, NULL);
+ g_object_set (G_OBJECT (action_copy), "sensitive", FALSE, NULL);
#if 0
/* Connect to save and load session */
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]