* add mug_msg_list_view_move_first, move to first item after running query
This commit is contained in:
5
mug/TODO
5
mug/TODO
@ -20,3 +20,8 @@
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
** TODO focus search bar at startup
|
||||||
|
** DONE focus first msg after query
|
||||||
|
CLOSED: [2010-11-02 Tue 22:44]
|
||||||
|
** TODO sorting for columns
|
||||||
|
|||||||
@ -205,6 +205,20 @@ mug_msg_list_view_finalize (GObject *obj)
|
|||||||
G_OBJECT_CLASS(parent_class)->finalize (obj);
|
G_OBJECT_CLASS(parent_class)->finalize (obj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
mug_msg_list_view_move_first (MugMsgListView *self)
|
||||||
|
{
|
||||||
|
GtkTreePath *path;
|
||||||
|
|
||||||
|
g_return_val_if_fail (MUG_IS_MSG_LIST_VIEW(self), FALSE);
|
||||||
|
|
||||||
|
path = gtk_tree_path_new_first ();
|
||||||
|
gtk_tree_view_set_cursor (GTK_TREE_VIEW(self), path,
|
||||||
|
NULL, FALSE);
|
||||||
|
|
||||||
|
gtk_tree_path_free (path);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
msg_list_view_move (MugMsgListView *self, gboolean next)
|
msg_list_view_move (MugMsgListView *self, gboolean next)
|
||||||
|
|||||||
@ -56,6 +56,9 @@ GtkWidget* mug_msg_list_view_new (const char *xpath);
|
|||||||
|
|
||||||
int mug_msg_list_view_query (MugMsgListView *self, const char *query);
|
int mug_msg_list_view_query (MugMsgListView *self, const char *query);
|
||||||
|
|
||||||
|
|
||||||
|
void mug_msg_list_view_move_first (MugMsgListView *self);
|
||||||
|
|
||||||
gboolean mug_msg_list_view_move_prev (MugMsgListView *self);
|
gboolean mug_msg_list_view_move_prev (MugMsgListView *self);
|
||||||
gboolean mug_msg_list_view_move_next (MugMsgListView *self);
|
gboolean mug_msg_list_view_move_next (MugMsgListView *self);
|
||||||
|
|
||||||
|
|||||||
13
mug/mug.cc
13
mug/mug.cc
@ -36,6 +36,7 @@ struct _MugData {
|
|||||||
GtkWidget *mlist;
|
GtkWidget *mlist;
|
||||||
GtkWidget *toolbar;
|
GtkWidget *toolbar;
|
||||||
GtkWidget *msgview;
|
GtkWidget *msgview;
|
||||||
|
GtkWidget *querybar;
|
||||||
};
|
};
|
||||||
typedef struct _MugData MugData;
|
typedef struct _MugData MugData;
|
||||||
|
|
||||||
@ -150,6 +151,7 @@ on_query_changed (MugQueryBar *bar, const char* query, MugData *mugdata)
|
|||||||
(MUG_MSG_LIST_VIEW(mugdata->mlist)));
|
(MUG_MSG_LIST_VIEW(mugdata->mlist)));
|
||||||
gtk_statusbar_push (GTK_STATUSBAR(mugdata->statusbar), 0, msg);
|
gtk_statusbar_push (GTK_STATUSBAR(mugdata->statusbar), 0, msg);
|
||||||
g_free (msg);
|
g_free (msg);
|
||||||
|
mug_msg_list_view_move_first (MUG_MSG_LIST_VIEW(mugdata->mlist));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -199,7 +201,7 @@ static GtkWidget*
|
|||||||
mug_query_area (MugData *mugdata)
|
mug_query_area (MugData *mugdata)
|
||||||
{
|
{
|
||||||
GtkWidget *queryarea;
|
GtkWidget *queryarea;
|
||||||
GtkWidget *paned, *querybar;
|
GtkWidget *paned;
|
||||||
GtkWidget *scrolled;
|
GtkWidget *scrolled;
|
||||||
|
|
||||||
gchar* xdir;
|
gchar* xdir;
|
||||||
@ -225,13 +227,13 @@ mug_query_area (MugData *mugdata)
|
|||||||
mugdata->msgview);
|
mugdata->msgview);
|
||||||
gtk_paned_add2 (GTK_PANED (paned), scrolled);
|
gtk_paned_add2 (GTK_PANED (paned), scrolled);
|
||||||
|
|
||||||
querybar = mug_querybar();
|
mugdata->querybar = mug_querybar();
|
||||||
g_signal_connect (G_OBJECT(querybar), "query_changed",
|
g_signal_connect (G_OBJECT(mugdata->querybar), "query_changed",
|
||||||
G_CALLBACK(on_query_changed),
|
G_CALLBACK(on_query_changed),
|
||||||
mugdata);
|
mugdata);
|
||||||
|
|
||||||
gtk_box_pack_start (GTK_BOX(queryarea),
|
gtk_box_pack_start (GTK_BOX(queryarea),
|
||||||
querybar, FALSE, FALSE, 2);
|
mugdata->querybar, FALSE, FALSE, 2);
|
||||||
gtk_box_pack_start (GTK_BOX(queryarea),
|
gtk_box_pack_start (GTK_BOX(queryarea),
|
||||||
paned, TRUE, TRUE, 2);
|
paned, TRUE, TRUE, 2);
|
||||||
|
|
||||||
@ -267,7 +269,7 @@ mug_shell (MugData *mugdata)
|
|||||||
mugdata->toolbar = mug_toolbar(mugdata);
|
mugdata->toolbar = mug_toolbar(mugdata);
|
||||||
gtk_box_pack_start (GTK_BOX(vbox), mugdata->toolbar, FALSE, FALSE, 2);
|
gtk_box_pack_start (GTK_BOX(vbox), mugdata->toolbar, FALSE, FALSE, 2);
|
||||||
gtk_box_pack_start (GTK_BOX(vbox), mug_main_area(mugdata), TRUE, TRUE, 2);
|
gtk_box_pack_start (GTK_BOX(vbox), mug_main_area(mugdata), TRUE, TRUE, 2);
|
||||||
|
|
||||||
mugdata->statusbar = mug_statusbar();
|
mugdata->statusbar = mug_statusbar();
|
||||||
gtk_box_pack_start (GTK_BOX(vbox), mugdata->statusbar, FALSE, FALSE, 2);
|
gtk_box_pack_start (GTK_BOX(vbox), mugdata->statusbar, FALSE, FALSE, 2);
|
||||||
|
|
||||||
@ -293,6 +295,7 @@ main (int argc, char *argv[])
|
|||||||
G_CALLBACK(gtk_main_quit), NULL);
|
G_CALLBACK(gtk_main_quit), NULL);
|
||||||
|
|
||||||
gtk_widget_show (mugshell);
|
gtk_widget_show (mugshell);
|
||||||
|
|
||||||
gtk_main ();
|
gtk_main ();
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user