[ekiga/ds-gtk-application] CallHistoryView: Improved visual layout.
- From: Damien Sandras <dsandras src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ekiga/ds-gtk-application] CallHistoryView: Improved visual layout.
- Date: Sun, 26 Oct 2014 13:10:43 +0000 (UTC)
commit e2d3ae494c91277b3224f17d844c912535f13855
Author: Damien Sandras <dsandras seconix com>
Date: Sun Oct 26 14:03:40 2014 +0100
CallHistoryView: Improved visual layout.
- Use more modern icons for missed/placed/received calls.
- Add an "error" error when we have a missed call or an unsuccessful
placed call.
.../gui/gtk-frontend/call-history-view-gtk.cpp | 32 +++++++++++++------
1 files changed, 22 insertions(+), 10 deletions(-)
---
diff --git a/lib/engine/gui/gtk-frontend/call-history-view-gtk.cpp
b/lib/engine/gui/gtk-frontend/call-history-view-gtk.cpp
index c4ca60e..58d4bc2 100644
--- a/lib/engine/gui/gtk-frontend/call-history-view-gtk.cpp
+++ b/lib/engine/gui/gtk-frontend/call-history-view-gtk.cpp
@@ -75,6 +75,7 @@ struct _CallHistoryViewGtkPrivate
/* this is what we put in the view */
enum {
COLUMN_CONTACT,
+ COLUMN_ERROR_PIXBUF,
COLUMN_PIXBUF,
COLUMN_NAME,
COLUMN_INFO,
@@ -101,7 +102,7 @@ on_contact_added (Ekiga::ContactPtr contact,
struct tm *timeinfo = NULL;
char buffer [80];
std::stringstream info;
- const gchar *id = NULL;
+ std::string id;
boost::shared_ptr<History::Contact> hcontact = boost::dynamic_pointer_cast<History::Contact> (contact);
GtkTreeIter iter;
@@ -111,18 +112,15 @@ on_contact_added (Ekiga::ContactPtr contact,
switch (hcontact->get_type ()) {
case History::RECEIVED:
-
- id = "back";
+ id = "go-previous-symbolic";
break;
case History::PLACED:
-
- id = "forward";
+ id = "go-next-symbolic";
break;
case History::MISSED:
-
- id = "gtk-close";
+ id = "call-missed-symbolic";
break;
default:
@@ -130,6 +128,7 @@ on_contact_added (Ekiga::ContactPtr contact,
}
}
+ gtk_list_store_prepend (store, &iter);
t = hcontact->get_call_start ();
timeinfo = localtime (&t);
if (timeinfo != NULL) {
@@ -137,14 +136,17 @@ on_contact_added (Ekiga::ContactPtr contact,
info << buffer;
if (!hcontact->get_call_duration ().empty ())
info << " (" << hcontact->get_call_duration () << ")";
+ else
+ gtk_list_store_set (store, &iter,
+ COLUMN_ERROR_PIXBUF, "error",
+ -1);
}
else
info << hcontact->get_call_duration ();
- gtk_list_store_prepend (store, &iter);
gtk_list_store_set (store, &iter,
COLUMN_CONTACT, contact.get (),
- COLUMN_PIXBUF, id,
+ COLUMN_PIXBUF, id.c_str (),
COLUMN_NAME, contact->get_name ().c_str (),
COLUMN_INFO, info.str ().c_str (),
-1);
@@ -318,10 +320,12 @@ call_history_view_gtk_new (boost::shared_ptr<History::Book> book,
G_TYPE_POINTER,
G_TYPE_STRING,
G_TYPE_STRING,
+ G_TYPE_STRING,
G_TYPE_STRING);
self->priv->tree = (GtkTreeView*)gtk_tree_view_new_with_model (GTK_TREE_MODEL (self->priv->store));
gtk_tree_view_set_headers_visible (GTK_TREE_VIEW (self->priv->tree), FALSE);
+ gtk_tree_view_set_grid_lines (self->priv->tree, GTK_TREE_VIEW_GRID_LINES_HORIZONTAL);
gtk_container_add (GTK_CONTAINER (self), GTK_WIDGET (self->priv->tree));
/* one column should be enough for everyone */
@@ -331,7 +335,8 @@ call_history_view_gtk_new (boost::shared_ptr<History::Book> book,
renderer = gtk_cell_renderer_pixbuf_new ();
gtk_tree_view_column_pack_start (column, renderer, FALSE);
gtk_tree_view_column_add_attribute (column, renderer,
- "icon-name", COLUMN_PIXBUF);
+ "icon-name", COLUMN_ERROR_PIXBUF);
+ g_object_set (renderer, "xalign", 0.0, "yalign", 0.5, "xpad", 6, "stock-size", 1, NULL);
/* show name and text */
renderer = gm_cell_renderer_bitext_new ();
@@ -342,6 +347,13 @@ call_history_view_gtk_new (boost::shared_ptr<History::Book> book,
"secondary-text", COLUMN_INFO);
gtk_tree_view_append_column (self->priv->tree, column);
+ /* show icon */
+ renderer = gtk_cell_renderer_pixbuf_new ();
+ gtk_tree_view_column_pack_end (column, renderer, FALSE);
+ gtk_tree_view_column_add_attribute (column, renderer,
+ "icon-name", COLUMN_PIXBUF);
+ g_object_set (renderer, "xalign", 1.0, "yalign", 0.5, "xpad", 6, "stock-size", 2, NULL);
+
/* react to user clicks */
selection = gtk_tree_view_get_selection (GTK_TREE_VIEW (self->priv->tree));
gtk_tree_selection_set_mode (selection, GTK_SELECTION_SINGLE);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]