summaryrefslogtreecommitdiffabout
authorMichael Krelin <hacker@klever.net>2009-08-09 20:08:28 (UTC)
committer Michael Krelin <hacker@klever.net>2009-08-09 20:08:28 (UTC)
commit556f6f8ade5643b5ad798f4b0077843866c1b461 (patch) (unidiff)
treebad38ed74352e4c80a509476053540286e4e6582
parenta141dd88e782636ca6894939a019528d5d46518a (diff)
downloadnapkin-556f6f8ade5643b5ad798f4b0077843866c1b461.zip
napkin-556f6f8ade5643b5ad798f4b0077843866c1b461.tar.gz
napkin-556f6f8ade5643b5ad798f4b0077843866c1b461.tar.bz2
made a compiler a bit happier
Signed-off-by: Michael Krelin <hacker@klever.net>
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--src/napkin.cc2
-rw-r--r--src/widgets.cc8
2 files changed, 5 insertions, 5 deletions
diff --git a/src/napkin.cc b/src/napkin.cc
index d9ba0c9..78f44f8 100644
--- a/src/napkin.cc
+++ b/src/napkin.cc
@@ -1,148 +1,148 @@
1#include <fcntl.h> 1#include <fcntl.h>
2#include <iostream> 2#include <iostream>
3using std::cerr; 3using std::cerr;
4using std::endl; 4using std::endl;
5#include <fstream> 5#include <fstream>
6using std::ofstream; 6using std::ofstream;
7#include <cstdlib> 7#include <cstdlib>
8using std::min; 8using std::min;
9#include <stdexcept> 9#include <stdexcept>
10using std::runtime_error; 10using std::runtime_error;
11#include <list> 11#include <list>
12using std::list; 12using std::list;
13#include <vector> 13#include <vector>
14using std::vector; 14using std::vector;
15#include <string> 15#include <string>
16using std::string; 16using std::string;
17#include <gtkmm/main.h> 17#include <gtkmm/main.h>
18#include <gtkmm/window.h> 18#include <gtkmm/window.h>
19#include <gtkmm/box.h> 19#include <gtkmm/box.h>
20#include <gtkmm/statusbar.h> 20#include <gtkmm/statusbar.h>
21#include <gtkmm/uimanager.h> 21#include <gtkmm/uimanager.h>
22#include <gtkmm/stock.h> 22#include <gtkmm/stock.h>
23#include <gtkmm/toolbar.h> 23#include <gtkmm/toolbar.h>
24#include <gtkmm/filechooserdialog.h> 24#include <gtkmm/filechooserdialog.h>
25#include <gtkmm/messagedialog.h> 25#include <gtkmm/messagedialog.h>
26#include <gtkmm/aboutdialog.h> 26#include <gtkmm/aboutdialog.h>
27#include <napkin/exception.h> 27#include <napkin/exception.h>
28#include <napkin/util.h> 28#include <napkin/util.h>
29#include <napkin/st/decode.h> 29#include <napkin/st/decode.h>
30#include <napkin/st/download.h> 30#include <napkin/st/download.h>
31 31
32#include "db.h" 32#include "db.h"
33#include "sleep_timeline.h" 33#include "sleep_timeline.h"
34#include "dialogs.h" 34#include "dialogs.h"
35#include "sleep_history.h" 35#include "sleep_history.h"
36 36
37#include "config.h" 37#include "config.h"
38 38
39class napkin_ui : public Gtk::Window { 39class napkin_ui : public Gtk::Window {
40 public: 40 public:
41 Gtk::VBox w_outer_box; 41 Gtk::VBox w_outer_box;
42 Gtk::Statusbar w_status_bar; 42 Gtk::Statusbar w_status_bar;
43 napkin::gtk::sleep_history_t w_history; 43 napkin::gtk::sleep_history_t w_history;
44 Glib::RefPtr<Gtk::UIManager> uiman; 44 Glib::RefPtr<Gtk::UIManager> uiman;
45 Glib::RefPtr<Gtk::ActionGroup> agroup; 45 Glib::RefPtr<Gtk::ActionGroup> agroup;
46 napkin::db_t db; 46 napkin::db_t db;
47 Glib::RefPtr<Gtk::Action> a_remove; 47 Glib::RefPtr<Gtk::Action> a_remove;
48 48
49 napkin_ui() 49 napkin_ui()
50 : w_history(db) 50 : w_history(db)
51 { 51 {
52 static char *ui_info = 52 static const char *ui_info =
53 "<ui>" 53 "<ui>"
54 "<menubar name='menu_bar'>" 54 "<menubar name='menu_bar'>"
55 "<menu action='menu_sleep'>" 55 "<menu action='menu_sleep'>"
56#ifndef NDEBUG 56#ifndef NDEBUG
57 "<menu action='menu_sleep_add'>" 57 "<menu action='menu_sleep_add'>"
58#endif 58#endif
59 "<menuitem action='sleep_add_from_sleeptracker'/>" 59 "<menuitem action='sleep_add_from_sleeptracker'/>"
60#ifndef NDEBUG 60#ifndef NDEBUG
61 "<menuitem action='sleep_add_from_datafile'/>" 61 "<menuitem action='sleep_add_from_datafile'/>"
62 "</menu>" 62 "</menu>"
63#endif 63#endif
64 "<menuitem action='sleep_remove'/>" 64 "<menuitem action='sleep_remove'/>"
65 "<menuitem action='exit'/>" 65 "<menuitem action='exit'/>"
66 "</menu>" 66 "</menu>"
67 "<menu action='menu_help'>" 67 "<menu action='menu_help'>"
68 "<menuitem action='help_about'/>" 68 "<menuitem action='help_about'/>"
69 "</menu>" 69 "</menu>"
70 "</menubar>" 70 "</menubar>"
71 "<toolbar action='tool_bar'>" 71 "<toolbar action='tool_bar'>"
72 "<toolitem action='sleep_add_from_sleeptracker'/>" 72 "<toolitem action='sleep_add_from_sleeptracker'/>"
73 "<toolitem action='sleep_remove'/>" 73 "<toolitem action='sleep_remove'/>"
74 "<separator expand='true'/>" 74 "<separator expand='true'/>"
75#ifndef NDEBUG 75#ifndef NDEBUG
76 "<toolitem action='debug'/>" 76 "<toolitem action='debug'/>"
77 "<separator/>" 77 "<separator/>"
78#endif 78#endif
79 "<toolitem action='exit'/>" 79 "<toolitem action='exit'/>"
80 "</toolbar>" 80 "</toolbar>"
81 "</ui>"; 81 "</ui>";
82 agroup = Gtk::ActionGroup::create(); 82 agroup = Gtk::ActionGroup::create();
83 agroup->add(Gtk::Action::create("menu_sleep","Sleep")); 83 agroup->add(Gtk::Action::create("menu_sleep","Sleep"));
84 agroup->add(Gtk::Action::create("menu_sleep_add","Add")); 84 agroup->add(Gtk::Action::create("menu_sleep_add","Add"));
85 agroup->add(Gtk::Action::create("sleep_add_from_sleeptracker",Gtk::Stock::CONNECT, 85 agroup->add(Gtk::Action::create("sleep_add_from_sleeptracker",Gtk::Stock::CONNECT,
86 "from sleeptracker","import sleeptracker data from watch"), 86 "from sleeptracker","import sleeptracker data from watch"),
87 Gtk::AccelKey("<Ctrl>d"), 87 Gtk::AccelKey("<Ctrl>d"),
88 sigc::mem_fun(*this,&napkin_ui::on_sleep_add_from_sleeptracker)); 88 sigc::mem_fun(*this,&napkin_ui::on_sleep_add_from_sleeptracker));
89#ifndef NDEBUG 89#ifndef NDEBUG
90 agroup->add(Gtk::Action::create("sleep_add_from_datafile",Gtk::Stock::CONVERT, 90 agroup->add(Gtk::Action::create("sleep_add_from_datafile",Gtk::Stock::CONVERT,
91 "from data file","import sleeptracker data stored in a file"), 91 "from data file","import sleeptracker data stored in a file"),
92 sigc::mem_fun(*this,&napkin_ui::on_sleep_add_from_datafile)); 92 sigc::mem_fun(*this,&napkin_ui::on_sleep_add_from_datafile));
93#endif 93#endif
94 agroup->add(a_remove=Gtk::Action::create("sleep_remove",Gtk::Stock::REMOVE, 94 agroup->add(a_remove=Gtk::Action::create("sleep_remove",Gtk::Stock::REMOVE,
95 "Remove","remove highlighted sleep event from the database"), 95 "Remove","remove highlighted sleep event from the database"),
96 Gtk::AccelKey("delete"), 96 Gtk::AccelKey("delete"),
97 sigc::mem_fun(*this,&napkin_ui::on_remove)); 97 sigc::mem_fun(*this,&napkin_ui::on_remove));
98 agroup->add(Gtk::Action::create("exit",Gtk::Stock::QUIT,"Exit","Exit "PACKAGE_NAME), 98 agroup->add(Gtk::Action::create("exit",Gtk::Stock::QUIT,"Exit","Exit "PACKAGE_NAME),
99 Gtk::AccelKey("<control>w"), 99 Gtk::AccelKey("<control>w"),
100 sigc::mem_fun(*this,&napkin_ui::on_quit)); 100 sigc::mem_fun(*this,&napkin_ui::on_quit));
101 agroup->add(Gtk::Action::create("menu_help","Help")); 101 agroup->add(Gtk::Action::create("menu_help","Help"));
102 agroup->add(Gtk::Action::create("help_about",Gtk::Stock::ABOUT, 102 agroup->add(Gtk::Action::create("help_about",Gtk::Stock::ABOUT,
103 "About","About this program"), 103 "About","About this program"),
104 sigc::mem_fun(*this,&napkin_ui::on_help_about)); 104 sigc::mem_fun(*this,&napkin_ui::on_help_about));
105#ifndef NDEBUG 105#ifndef NDEBUG
106 agroup->add(Gtk::Action::create("debug",Gtk::Stock::INFO,"Debug","debug action"), 106 agroup->add(Gtk::Action::create("debug",Gtk::Stock::INFO,"Debug","debug action"),
107 sigc::mem_fun(*this,&napkin_ui::on_debug)); 107 sigc::mem_fun(*this,&napkin_ui::on_debug));
108#endif 108#endif
109 uiman = Gtk::UIManager::create(); 109 uiman = Gtk::UIManager::create();
110 uiman->insert_action_group(agroup); 110 uiman->insert_action_group(agroup);
111 add_accel_group(uiman->get_accel_group()); 111 add_accel_group(uiman->get_accel_group());
112 uiman->add_ui_from_string(ui_info); 112 uiman->add_ui_from_string(ui_info);
113 Gtk::Widget * mb = uiman->get_widget("/menu_bar"); 113 Gtk::Widget * mb = uiman->get_widget("/menu_bar");
114 if(mb) 114 if(mb)
115 w_outer_box.pack_start(*mb,Gtk::PACK_SHRINK); 115 w_outer_box.pack_start(*mb,Gtk::PACK_SHRINK);
116 Gtk::Widget * tb = uiman->get_widget("/tool_bar"); 116 Gtk::Widget * tb = uiman->get_widget("/tool_bar");
117 if(tb) { 117 if(tb) {
118 static_cast<Gtk::Toolbar*>(tb)->set_toolbar_style(Gtk::TOOLBAR_ICONS); 118 static_cast<Gtk::Toolbar*>(tb)->set_toolbar_style(Gtk::TOOLBAR_ICONS);
119 w_outer_box.pack_start(*tb,Gtk::PACK_SHRINK); 119 w_outer_box.pack_start(*tb,Gtk::PACK_SHRINK);
120 } 120 }
121 w_outer_box.pack_start(w_history,true/*expand*/,true/*fill*/); 121 w_outer_box.pack_start(w_history,true/*expand*/,true/*fill*/);
122 w_outer_box.pack_end(w_status_bar,false/*expand*/,false/*fill*/); 122 w_outer_box.pack_end(w_status_bar,false/*expand*/,false/*fill*/);
123 add(w_outer_box); 123 add(w_outer_box);
124 set_title(PACKAGE_STRING); 124 set_title(PACKAGE_STRING);
125 set_default_size(800,600); 125 set_default_size(800,600);
126 show_all(); 126 show_all();
127 w_status_bar.push(" "PACKAGE_STRING); 127 w_status_bar.push(" "PACKAGE_STRING);
128 128
129 refresh_data(); 129 refresh_data();
130 130
131 w_history.signal_cursor_changed().connect( 131 w_history.signal_cursor_changed().connect(
132 sigc::mem_fun(*this,&napkin_ui::on_history_cursor_changed)); 132 sigc::mem_fun(*this,&napkin_ui::on_history_cursor_changed));
133 on_history_cursor_changed(); 133 on_history_cursor_changed();
134 w_history.signal_double_click().connect( 134 w_history.signal_double_click().connect(
135 sigc::mem_fun(*this,&napkin_ui::on_history_double_click)); 135 sigc::mem_fun(*this,&napkin_ui::on_history_double_click));
136 } 136 }
137 137
138 void on_help_about() { 138 void on_help_about() {
139 Gtk::AboutDialog about; 139 Gtk::AboutDialog about;
140 about.set_authors(vector<string>(1,"Michael Krelin <hacker@klever.net>")); 140 about.set_authors(vector<string>(1,"Michael Krelin <hacker@klever.net>"));
141 about.set_copyright("© 2008 Klever Group"); 141 about.set_copyright("© 2008 Klever Group");
142 extern const char *COPYING; 142 extern const char *COPYING;
143 about.set_license(COPYING); 143 about.set_license(COPYING);
144 about.set_program_name(PACKAGE_NAME); 144 about.set_program_name(PACKAGE_NAME);
145 about.set_version(VERSION); 145 about.set_version(VERSION);
146 about.set_website("http://kin.klever.net/"); 146 about.set_website("http://kin.klever.net/");
147 about.set_website_label("Klever Internet Nothings"); 147 about.set_website_label("Klever Internet Nothings");
148 about.set_comments("The Sleeptracker PRO watch support program"); 148 about.set_comments("The Sleeptracker PRO watch support program");
diff --git a/src/widgets.cc b/src/widgets.cc
index ea85bc8..61c7da9 100644
--- a/src/widgets.cc
+++ b/src/widgets.cc
@@ -1,63 +1,63 @@
1#include <napkin/util.h> 1#include <napkin/util.h>
2#include "widgets.h" 2#include "widgets.h"
3 3
4namespace napkin { 4namespace napkin {
5 namespace gtk { 5 namespace gtk {
6 6
7 hypnoinfo_t::hypnoinfo_t() 7 hypnoinfo_t::hypnoinfo_t()
8 : w_upper(4,3,false/*homogeneous*/), 8 : w_upper(4,3,false/*homogeneous*/),
9 lc_tobed("To bed:",0.5,0.5), 9 lc_tobed("To bed:",0.5f,0.5f),
10 lc_timeline("Sleep timeline:",0.5,0.5), 10 lc_timeline("Sleep timeline:",0.5f,0.5f),
11 lc_alarm("Alarm:",0.5,0.5), lc_window("Window:",0.5,0.5), 11 lc_alarm("Alarm:",0.5f,0.5f), lc_window("Window:",0.5f,0.5f),
12 l_data_a("",0.9,0.5) 12 l_data_a("",0.9f,0.5f)
13 { 13 {
14 add(l_date); 14 add(l_date);
15 add(l_hseparator); 15 add(l_hseparator);
16 w_upper.set_col_spacings(5); 16 w_upper.set_col_spacings(5);
17 w_upper.attach(lc_tobed,0,1,0,1, Gtk::SHRINK); 17 w_upper.attach(lc_tobed,0,1,0,1, Gtk::SHRINK);
18 w_upper.attach(lc_timeline,1,2,0,1, Gtk::SHRINK); 18 w_upper.attach(lc_timeline,1,2,0,1, Gtk::SHRINK);
19 w_upper.attach(lc_alarm,2,3,0,1, Gtk::SHRINK); 19 w_upper.attach(lc_alarm,2,3,0,1, Gtk::SHRINK);
20 w_upper.attach(lf_tobed,0,1,1,4, Gtk::SHRINK); 20 w_upper.attach(lf_tobed,0,1,1,4, Gtk::SHRINK);
21 w_upper.attach(st_timeline,1,2,1,4, 21 w_upper.attach(st_timeline,1,2,1,4,
22 Gtk::FILL|Gtk::EXPAND,Gtk::FILL|Gtk::EXPAND,0,0); 22 Gtk::FILL|Gtk::EXPAND,Gtk::FILL|Gtk::EXPAND,0,0);
23 w_upper.attach(lf_alarm,2,3,1,2, Gtk::SHRINK); 23 w_upper.attach(lf_alarm,2,3,1,2, Gtk::SHRINK);
24 w_upper.attach(lc_window,2,3,2,3, Gtk::SHRINK); 24 w_upper.attach(lc_window,2,3,2,3, Gtk::SHRINK);
25 w_upper.attach(lf_window,2,3,3,4, Gtk::SHRINK); 25 w_upper.attach(lf_window,2,3,3,4, Gtk::SHRINK);
26 add(w_upper); 26 add(w_upper);
27 add(lc_almost_awakes); 27 add(lc_almost_awakes);
28 add(lf_almost_awakes); 28 add(lf_almost_awakes);
29 add(l_data_a); 29 add(l_data_a);
30 show_all(); 30 show_all();
31 } 31 }
32 32
33 void hypnoinfo_t::update_data(const hypnodata_ptr_t& hd) { 33 void hypnoinfo_t::update_data(const hypnodata_ptr_t& hd) {
34 l_date.set_use_markup(true); 34 l_date.set_use_markup(true);
35 l_date.set_markup("<b>"+hd->str_date()+"</b>"); 35 l_date.set_markup("<b>"+hd->str_date()+"</b>");
36 lf_tobed.set_use_markup(true); 36 lf_tobed.set_use_markup(true);
37 lf_tobed.set_markup("<b>"+hd->str_to_bed()+"</b>"); 37 lf_tobed.set_markup("<b>"+hd->str_to_bed()+"</b>");
38 lf_alarm.set_use_markup(true); 38 lf_alarm.set_use_markup(true);
39 lf_alarm.set_markup("<b>"+hd->str_alarm()+"</b>"); 39 lf_alarm.set_markup("<b>"+hd->str_alarm()+"</b>");
40 char tmp[64]; 40 char tmp[64];
41 snprintf(tmp,sizeof(tmp),"<b>%d mins</b>",hd->window); 41 snprintf(tmp,sizeof(tmp),"<b>%d mins</b>",hd->window);
42 lf_window.set_use_markup(true); 42 lf_window.set_use_markup(true);
43 lf_window.set_markup(tmp); 43 lf_window.set_markup(tmp);
44 snprintf(tmp,sizeof(tmp),"<b>%d</b> almost awake moments:",(int)hd->almost_awakes.size()); 44 snprintf(tmp,sizeof(tmp),"<b>%d</b> almost awake moments:",(int)hd->almost_awakes.size());
45 lc_almost_awakes.set_use_markup(true); 45 lc_almost_awakes.set_use_markup(true);
46 lc_almost_awakes.set_markup(tmp); 46 lc_almost_awakes.set_markup(tmp);
47 string awlist; 47 string awlist;
48 for(vector<time_t>::const_iterator i=hd->almost_awakes.begin();i!=hd->almost_awakes.end();++i) { 48 for(vector<time_t>::const_iterator i=hd->almost_awakes.begin();i!=hd->almost_awakes.end();++i) {
49 if(!awlist.empty()) 49 if(!awlist.empty())
50 awlist += ", "; 50 awlist += ", ";
51 awlist += strftime("<b>%H:%M:%S</b>",*i); 51 awlist += strftime("<b>%H:%M:%S</b>",*i);
52 } 52 }
53 lf_almost_awakes.set_use_markup(true); 53 lf_almost_awakes.set_use_markup(true);
54 lf_almost_awakes.set_line_wrap(true); 54 lf_almost_awakes.set_line_wrap(true);
55 lf_almost_awakes.set_line_wrap_mode(Pango::WRAP_WORD); 55 lf_almost_awakes.set_line_wrap_mode(Pango::WRAP_WORD);
56 lf_almost_awakes.set_markup("<tt>"+awlist+"</tt>"); 56 lf_almost_awakes.set_markup("<tt>"+awlist+"</tt>");
57 l_data_a.set_use_markup(true); 57 l_data_a.set_use_markup(true);
58 l_data_a.set_markup("Data A is <b>"+hd->str_data_a()+"</b>"); 58 l_data_a.set_markup("Data A is <b>"+hd->str_data_a()+"</b>");
59 st_timeline.set_data(hd); 59 st_timeline.set_data(hd);
60 } 60 }
61 61
62 } 62 }
63} 63}