summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--VERSION1
-rw-r--r--meson.build4
-rwxr-xr-xsrc/server/genversion.sh9
-rw-r--r--src/server/gtk.c7
-rw-r--r--src/server/gtklayout.ui41
-rw-r--r--src/server/meson.build9
6 files changed, 70 insertions, 1 deletions
diff --git a/VERSION b/VERSION
new file mode 100644
index 0000000..9459d4b
--- /dev/null
+++ b/VERSION
@@ -0,0 +1 @@
+1.1
diff --git a/meson.build b/meson.build
index cbef6cb..9d9a954 100644
--- a/meson.build
+++ b/meson.build
@@ -9,6 +9,8 @@ deps += dependency('ncurses')
progname = 'coffeetemp'
resource_dir = join_paths(get_option('datadir'), progname)
+version_fallback = files('VERSION')
+
subdir('src')
inc = include_directories('include')
@@ -18,5 +20,5 @@ resource_dir_arg = 'DATA_DIR=' + '"' + join_paths(get_option('prefix'), resource
add_project_arguments('-D', resource_dir_arg, language : 'c')
add_project_link_arguments('-rdynamic', language : 'c')
-destktop_application = executable(progname, sources, include_directories : inc, gui_app : true, install : true, dependencies : deps, extra_files : extra)
+destktop_application = executable(progname, sources, version, include_directories : inc, gui_app : true, install : true, dependencies : deps, extra_files : extra)
install_data(extra, install_dir : resource_dir)
diff --git a/src/server/genversion.sh b/src/server/genversion.sh
new file mode 100755
index 0000000..c4de2cd
--- /dev/null
+++ b/src/server/genversion.sh
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+versionstring=`git describe 2>/dev/null`
+
+if [[ -z $versionstring ]]; then
+ versionstring=`cat $1`
+fi
+
+echo "const char * const version = \"$versionstring\";" > $2
diff --git a/src/server/gtk.c b/src/server/gtk.c
index f48d1d9..0606270 100644
--- a/src/server/gtk.c
+++ b/src/server/gtk.c
@@ -323,3 +323,10 @@ void gtkui_dialog_done(int status)
gtk_widget_set_sensitive(GTK_WIDGET(gtkui_flash.dialog_ok), 1);
gtk_label_set_markup(GTK_LABEL(gtkui_flash.dialog_text), msg);
}
+
+void gtkui_update_version(void *about)
+{
+ extern const char * const version;
+
+ gtk_about_dialog_set_version(GTK_ABOUT_DIALOG(about), version);
+}
diff --git a/src/server/gtklayout.ui b/src/server/gtklayout.ui
index e6d3f5a..bd62dc8 100644
--- a/src/server/gtklayout.ui
+++ b/src/server/gtklayout.ui
@@ -137,6 +137,8 @@
<property name="use_underline">True</property>
<property name="use_stock">True</property>
<property name="always_show_image">True</property>
+ <signal name="activate" handler="gtk_widget_set_visible" object="about" swapped="yes"/>
+ <signal name="activate" handler="gtkui_update_version" object="about" swapped="yes"/>
</object>
</child>
</object>
@@ -277,4 +279,43 @@
</object>
</child>
</object>
+ <object class="GtkAboutDialog" id="about">
+ <property name="can_focus">False</property>
+ <property name="resizable">False</property>
+ <property name="window_position">center-on-parent</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <property name="transient_for">window</property>
+ <property name="program_name">Coffeetemp</property>
+ <property name="version">1.2</property>
+ <property name="comments" translatable="yes">Stop scolding your tongue with hot coffee and/or tea like a pleb and start drinking it right like a patrician.</property>
+ <property name="website">https://seriouss.am/</property>
+ <property name="website_label" translatable="yes">Visit the Project Website</property>
+ <property name="authors">Copyright © 2018 Gediminas Jakutis</property>
+ <property name="logo_icon_name">gtk-about</property>
+ <property name="license_type">lgpl-2-1-only</property>
+ <signal name="delete-event" handler="gtk_widget_hide_on_delete" swapped="no"/>
+ <signal name="response" handler="gtk_widget_hide" swapped="no"/>
+ <child internal-child="vbox">
+ <object class="GtkBox">
+ <property name="can_focus">False</property>
+ <property name="orientation">vertical</property>
+ <property name="spacing">2</property>
+ <child internal-child="action_area">
+ <object class="GtkButtonBox">
+ <property name="can_focus">False</property>
+ <property name="layout_style">end</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <placeholder/>
+ </child>
+ </object>
+ </child>
+ </object>
</interface>
diff --git a/src/server/meson.build b/src/server/meson.build
index 2b7af61..83335dc 100644
--- a/src/server/meson.build
+++ b/src/server/meson.build
@@ -17,5 +17,14 @@ dp_extra_filenames = [
'gtklayout_flash.ui',
]
+dp_version_filename = 'version.c'
+
+version_script = files('genversion.sh')
+
+version = custom_target('version',
+ input : version_fallback,
+ output : dp_version_filename,
+ command : [version_script, '@INPUT@', '@OUTPUT@'])
+
dp_sources = files(dp_filenames)
dp_extra = files(dp_extra_filenames)