[Xfce4-commits] [panel-plugins/xfce4-timer-plugin] 01/03: Add Hossam Ayman's multiple timer code, some leak and g_free fixes in update_function.
noreply at xfce.org
noreply at xfce.org
Sat Apr 21 17:05:16 CEST 2018
This is an automated email from the git hooks/post-receive script.
i l g a r p u s h e d a c o m m i t t o b r a n c h m a s t e r
in repository panel-plugins/xfce4-timer-plugin.
commit db4a1dfa14e4c02d09d239ad0c61535146a34acb
Author: Kemal Ilgar Eroglu <kieroglu at hotmail.com>
Date: Sat Apr 21 15:31:53 2018 +0300
Add Hossam Ayman's multiple timer code, some leak and g_free fixes in update_function.
---
panel-plugin/xfcetimer.c | 638 +++++++++++++++++++++++++----------------------
panel-plugin/xfcetimer.h | 27 +-
po/de.po | 131 ++++++----
po/en_GB.po | 6 +
4 files changed, 435 insertions(+), 367 deletions(-)
diff --git a/panel-plugin/xfcetimer.c b/panel-plugin/xfcetimer.c
index dfda9bd..af6e931 100644
--- a/panel-plugin/xfcetimer.c
+++ b/panel-plugin/xfcetimer.c
@@ -50,10 +50,10 @@ static void
create_plugin_control (XfcePanelPlugin *plugin);
static void
-start_timer (plugin_data *pd);
+start_timer (plugin_data *pd, alarm_t* alrm);
static void
-dialog_response (GtkWidget *dlg, int response, plugin_data *pd);
+dialog_response (GtkWidget *dlg, int response, alarm_t* alrm);
static void
start_stop_selected (GtkWidget* menuitem, gpointer data);
@@ -68,22 +68,27 @@ make_menu (plugin_data *pd);
static gboolean
repeat_alarm (gpointer data)
{
- plugin_data *pd = (plugin_data *) data;
+ alarm_t *alrm;
+ alrm = (alarm_t *) data;
+ plugin_data *pd = alrm->pd;
/* Don't repeat anymore */
- if (pd->rem_repetitions == 0)
+ if (alrm->rem_repetitions == 0)
{
-
- if (pd->timeout_command)
- g_free (pd->timeout_command);
- pd->timeout_command = NULL;
- pd->alarm_repeating = FALSE;
-
+ alrm->is_repeating=FALSE;
return FALSE;
}
- g_spawn_command_line_async (pd->timeout_command, NULL);
- pd->rem_repetitions = pd->rem_repetitions - 1;
+ gchar *command;
+ if (strlen(alrm->command)>0)
+ command = g_strdup(alrm->command);
+ else if (pd->use_global_command)
+ command = g_strdup (pd->global_command);
+ else
+ command = g_strdup("");
+
+ g_spawn_command_line_async (command, NULL);
+ alrm->rem_repetitions = alrm->rem_repetitions - 1;
return TRUE;
}
@@ -135,112 +140,143 @@ fill_liststore (plugin_data *pd, GList *selected)
static gboolean
update_function (gpointer data)
{
-
plugin_data *pd = (plugin_data *) data;
gint elapsed_sec, remaining;
+ //for showing the progress of the first to finish
+ gint min_remaining_time = G_MAXINT;
gchar *tiptext = NULL, *temp, *dialog_title, *dialog_message;
+ gchar *finalTipText = g_strdup("");
GtkWidget *dialog;
+ GList *list = NULL;
+ alarm_t *alrm;
+ gboolean callAgain = FALSE;
+ gboolean firstActiveTimer = TRUE;
- elapsed_sec = (gint) g_timer_elapsed (pd->timer, NULL);
-
- /* If countdown is not over, update tooltip */
- if (elapsed_sec < pd->timeout_period_in_sec)
- {
-
- remaining = pd->timeout_period_in_sec - elapsed_sec;
-
- if (remaining >= 3600)
- tiptext = g_strdup_printf (_("%dh %dm %ds left"), remaining / 3600,
- (remaining % 3600) / 60, remaining % 60);
- else if (remaining >= 60)
- tiptext = g_strdup_printf (_("%dm %ds left"), remaining / 60,
- remaining % 60);
- else
- tiptext = g_strdup_printf (_("%ds left"), remaining);
-
- if (pd->is_paused)
- {
- temp = g_strconcat (tiptext, _(" (Paused)"), NULL);
- g_free (tiptext);
- tiptext = temp;
- }
- gtk_progress_bar_set_fraction (
- GTK_PROGRESS_BAR (pd->pbar),
- 1.0 - ((gdouble) elapsed_sec) / pd->timeout_period_in_sec);
-
- gtk_widget_set_tooltip_text (GTK_WIDGET (pd->base), tiptext);
-
- g_free (tiptext);
-
- return TRUE;
- }
-
- /* Countdown is over, stop timer and free resources */
-
- if (pd->timer)
- g_timer_destroy (pd->timer);
- pd->timer = NULL;
-
- /* Disable tooltips, reset pbar */
- gtk_widget_set_tooltip_text (GTK_WIDGET (pd->base), "");
- gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (pd->pbar), 0);
-
- pd->timeout = 0;
-
- pd->timer_on = FALSE;
-
- if ((strlen (pd->timeout_command) == 0) || !pd->nowin_if_alarm)
- {
- gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (pd->pbar), 0);
-
- /* Display the name of the alarm when the countdown ends */
- dialog_message = g_strdup_printf (
- _("Beeep! :) \nTime is up for the alarm %s."),
- pd->active_timer_name);
- dialog_title = g_strdup_printf ("Xfce4 Timer Plugin: %s",
- pd->active_timer_name);
-
- dialog = gtk_message_dialog_new (NULL, GTK_DIALOG_MODAL,
- GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE,
- "%s", dialog_message);
-
- gtk_window_set_title ((GtkWindow *) dialog, dialog_title);
- gtk_window_set_keep_above ((GtkWindow *) dialog, TRUE);
-
- gtk_dialog_add_button ((GtkDialog *) dialog, _("Close"), 0);
- gtk_dialog_add_button ((GtkDialog *) dialog, _("Rerun the timer"), 1);
-
- g_signal_connect (dialog, "response", G_CALLBACK (dialog_response), pd);
-
- g_free (dialog_title);
- g_free (dialog_message);
-
- gtk_widget_show (dialog);
- }
-
- if (strlen (pd->timeout_command) > 0)
- {
+ list = pd->alarm_list;
- g_spawn_command_line_async (pd->timeout_command, NULL);
+ while (list){
+ alrm = (alarm_t *) list->data;
+ if(alrm->timer_on){
- if (pd->repeat_alarm)
- {
- pd->alarm_repeating = TRUE;
- pd->rem_repetitions = pd->repetitions;
- if (pd->repeat_timeout != 0)
- g_source_remove (pd->repeat_timeout);
- pd->repeat_timeout = g_timeout_add (pd->repeat_interval * 1000,
- repeat_alarm, pd);
- }
- else
- {
- if (pd->timeout_command)
- g_free (pd->timeout_command);
- pd->timeout_command = NULL;
- }
- }
- /* This function won't be called again */
- return FALSE;
+ elapsed_sec = (gint) g_timer_elapsed(alrm->timer, NULL);
+ /* If countdown is not over, update tooltip */
+ if (elapsed_sec < alrm->timeout_period_in_sec) {
+ remaining = alrm->timeout_period_in_sec - elapsed_sec;
+
+ if (remaining >= 3600)
+ tiptext = g_strdup_printf (_("%dh %dm %ds left"), remaining / 3600,
+ (remaining % 3600) / 60, remaining % 60);
+ else if (remaining >= 60)
+ tiptext = g_strdup_printf (_("%dm %ds left"), remaining / 60,
+ remaining % 60);
+ else
+ tiptext = g_strdup_printf (_("%ds left"), remaining);
+
+ if (alrm->is_paused)
+ {
+ temp = g_strconcat (tiptext, _(" (Paused)"), NULL);
+ g_free (tiptext);
+ tiptext = temp;
+ }
+ if(alrm->timeout_period_in_sec < min_remaining_time){
+ min_remaining_time = alrm->timeout_period_in_sec;
+ gtk_progress_bar_set_fraction(GTK_PROGRESS_BAR(pd->pbar),
+ 1.0 - ((gdouble) elapsed_sec) / alrm->timeout_period_in_sec);
+ }
+ callAgain = TRUE;
+ }else{
+ /* Countdown is over, stop timer and free resources */
+ if (alrm->timer)
+ g_timer_destroy(alrm->timer);
+ alrm->timer = NULL;
+ /* Disable tooltips, reset pbar */
+ gtk_widget_set_tooltip_text (GTK_WIDGET (pd->base), "");
+ gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (pd->pbar), 0);
+
+ alrm->timeout = 0;
+ alrm->timer_on = FALSE;
+
+ gchar *command;
+
+ /* If an alarm command is set, it overrides the default (if any) */
+ if (strlen(alrm->command)>0)
+ command = g_strdup(alrm->command);
+ else if (pd->use_global_command)
+ command = g_strdup (pd->global_command);
+ else
+ command = g_strdup("");
+
+ if ((strlen(command) == 0) || !pd->nowin_if_alarm) {
+ gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (pd->pbar), 0);
+
+ /* Display the name of the alarm when the countdown ends */
+ dialog_message = g_strdup_printf(_("Beeep! :) \nTime is up for the alarm %s."), alrm->name);
+ dialog_title = g_strdup_printf("Xfce4 Timer Plugin: %s", alrm->name);
+
+ dialog = gtk_message_dialog_new(NULL, GTK_DIALOG_MODAL,
+ GTK_MESSAGE_WARNING, GTK_BUTTONS_NONE, "%s", dialog_message);
+
+ gtk_window_set_title((GtkWindow *) dialog, dialog_title);
+
+ gtk_dialog_add_button((GtkDialog *) dialog, _("Close"), 0);
+ gtk_dialog_add_button((GtkDialog *) dialog, _("Rerun the timer"), 1);
+
+ g_signal_connect(dialog, "response",
+ G_CALLBACK(dialog_response),
+ alrm);
+
+ g_free(dialog_title);
+ g_free(dialog_message);
+
+ gtk_widget_show(dialog);
+ }
+
+ if (strlen(command) > 0) {
+
+ g_spawn_command_line_async(command, NULL);
+
+ if (pd->repeat_alarm_command) {
+ alrm->is_repeating = TRUE;
+ alrm->rem_repetitions = pd->repetitions;
+ if (alrm->repeat_timeout != 0)
+ g_source_remove(alrm->repeat_timeout);
+ alrm->repeat_timeout = g_timeout_add(pd->repeat_interval * 1000, repeat_alarm, alrm);
+ } else {
+ if (command)
+ g_free(command);
+ command = NULL;
+ }
+ }
+
+ //Check if alarm is recurring after it's finished and destroyed; if yes then start it again.
+ if(alrm->is_recurring){
+ start_timer(pd,alrm);
+ }
+
+ }
+ //tiptext = g_strconcat("\t", tiptext, NULL);
+ temp = g_strconcat(alrm->name ,"\t", tiptext, NULL);
+ g_free(tiptext);
+ tiptext = temp;
+ //if not first
+ if(firstActiveTimer){
+ firstActiveTimer = FALSE;
+ }else{
+ temp = g_strconcat("\n", tiptext, NULL);
+ g_free(tiptext);
+ tiptext = temp;
+ }
+ temp = g_strconcat(finalTipText, tiptext, NULL);
+ g_free(finalTipText);
+ finalTipText = temp;
+ }
+ list = g_list_next (list);
+ }
+ gtk_widget_set_tooltip_text (GTK_WIDGET(pd->base), finalTipText);
+ g_free(tiptext);
+ g_free(finalTipText);
+
+ return callAgain;
}
@@ -255,20 +291,9 @@ timer_selected (GtkWidget* menuitem, gpointer data)
GList *list = (GList *) data;
alarm_t *alrm;
plugin_data *pd;
- GtkRadioMenuItem *rmi;
+ GtkMenuItem *rmi;
- rmi = (GtkRadioMenuItem *) menuitem;
-
- /**
- * We do this to get rid of the (irrelevant) "activate" signals
- * emitted by the first radio check button in the pop-up
- * menu when the menu is created and also by the (deactivated)
- * previous selection when a new selection is made. Another workaround
- * is to listen to the button_press_event but it does not capture
- * the Enter key press on the menuitem.
- **/
- if (!gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (rmi)))
- return;
+ rmi = (GtkMenuItem *) menuitem;
alrm = (alarm_t *) list->data;
pd = (plugin_data *) alrm->pd;
@@ -276,8 +301,8 @@ timer_selected (GtkWidget* menuitem, gpointer data)
pd->selected = list;
/* start the timer if the option to do so on selecting is set */
- if (pd->selecting_starts && !pd->timer_on)
- start_stop_selected (menuitem, pd);
+ if (pd->selecting_starts)
+ start_stop_selected (menuitem, list);
}
@@ -287,7 +312,7 @@ timer_selected (GtkWidget* menuitem, gpointer data)
* Assumes that the timer is already stopped
**/
static void
-start_timer (plugin_data *pd)
+start_timer (plugin_data *pd, alarm_t* alrm)
{
gchar temp[8];
@@ -295,39 +320,18 @@ start_timer (plugin_data *pd)
gint timeout_period;
GTimeVal timeval;
struct tm *current;
- alarm_t *alrm;
- /* Empty timer list-> Nothing to do. pd->selected=0, though */
- if (pd->selected == NULL)
+ /* Empty timer list-> Nothing to do. alrm=0, though */
+ if (alrm == NULL)
return;
- alrm = (alarm_t *) pd->selected->data;
-
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (pd->pbar), 1);
- /* Record the timer name */
- if (pd->active_timer_name)
- g_free (pd->active_timer_name);
-
- /* It's freed next time or at exit */
- pd->active_timer_name = g_strdup (alrm->name);
- if (pd->timeout_command)
- g_free (pd->timeout_command);
-
- /* If an alarm command is set, it overrides the default (if any) */
- if (strlen (alrm->command) > 0)
- /* It's freed next time or at exit */
- pd->timeout_command = g_strdup (alrm->command);
- else if (pd->use_global_command)
- pd->timeout_command = g_strdup (pd->global_command);
- else
- pd->timeout_command = g_strdup ("");
-
/**
* If it's a 24h type alarm, we find the difference with current time
* Here 'time' is in minutes
**/
- if (!alrm->iscountdown)
+ if (!alrm->is_countdown)
{
g_get_current_time (&timeval);
@@ -344,25 +348,25 @@ start_timer (plugin_data *pd)
if (timeout_period < 0)
timeout_period += 24 * 60 * 60;
- pd->is_countdown = FALSE;
+ alrm->is_countdown = FALSE;
}
- /* Else 'pd->selected->time' already gives the countdown period in seconds */
+ /* Else 'alrm->selected->time' already gives the countdown period in seconds */
else
{
- pd->is_countdown = TRUE;
+ alrm->is_countdown = TRUE;
timeout_period = alrm->time;
}
- pd->timeout_period_in_sec = timeout_period;
+ alrm->timeout_period_in_sec = timeout_period;
/* start the timer */
- pd->timer = g_timer_new ();
- pd->timer_on = TRUE;
+ alrm->timer = g_timer_new ();
+ alrm->timer_on = TRUE;
gtk_widget_set_tooltip_text (GTK_WIDGET (pd->base), alrm->info);
- g_timer_start (pd->timer);
- pd->timeout = g_timeout_add (UPDATE_INTERVAL, update_function, pd);
+ g_timer_start (alrm->timer);
+ alrm->timeout = g_timeout_add (UPDATE_INTERVAL, update_function, pd);
}
@@ -372,30 +376,35 @@ start_timer (plugin_data *pd)
* start/stop item is selected in the popup menu
**/
static void
-start_stop_selected (GtkWidget* menuitem, gpointer data)
+start_stop_selected (GtkWidget* menuitem, gpointer list)
{
-
- plugin_data *pd = (plugin_data *) data;
+ GList *listitem = (GList *) list;
+ plugin_data *pd;
+ GSList *group=NULL;
+ gchar temp[8];
+ gint row_count,cur_h,cur_m,cur_s,time;
+ gint timeout_period;
+ gboolean is_cd;
+ GTimeVal timeval;
+ struct tm *current;
+ alarm_t *alrm;
+
+ alrm = (alarm_t *) listitem->data;
+ pd = (plugin_data *) alrm->pd;
/* If counting down, we stop the timer and free the resources */
- if (pd->timer_on)
+ if (alrm->timer_on)
{
- if (pd->timer)
- g_timer_destroy (pd->timer);
- if (pd->timeout)
- g_source_remove (pd->timeout);
- if (pd->timeout_command)
- g_free (pd->timeout_command);
- if (pd->active_timer_name)
- g_free (pd->active_timer_name);
-
- pd->timer = NULL;
- pd->timeout_command = NULL;
- pd->active_timer_name = NULL;
- pd->timeout = 0;
- pd->timer_on = FALSE;
- pd->is_paused = FALSE;
+ if(alrm->timer)
+ g_timer_destroy(alrm->timer);
+ if(alrm->timeout)
+ g_source_remove(alrm->timeout);
+
+ alrm->timer = NULL;
+ alrm->timeout = 0;
+ alrm->is_paused = FALSE;
+ alrm->timer_on = FALSE;
/* Disable tooltips, reset pbar */
gtk_widget_set_tooltip_text (GTK_WIDGET (pd->base), "");
@@ -406,7 +415,7 @@ start_stop_selected (GtkWidget* menuitem, gpointer data)
}
/* If we're here then the timer is off, so we start it */
- start_timer (pd);
+ start_timer (pd, alrm);
}
@@ -414,19 +423,20 @@ start_stop_selected (GtkWidget* menuitem, gpointer data)
static void
pause_resume_selected (GtkWidget* menuitem, gpointer data)
{
- plugin_data *pd = (plugin_data *) data;
+ alarm_t *alrm;
+ alrm = (alarm_t *) data;
/* If paused, we resume */
- if (pd->is_paused)
+ if (alrm->is_paused)
{
- g_timer_continue (pd->timer);
+ g_timer_continue (alrm->timer);
/* If we're here then the timer is runnig, so we pause */
- pd->is_paused = FALSE;
+ alrm->is_paused = FALSE;
}
else
{
- pd->is_paused = TRUE;
- g_timer_stop (pd->timer);
+ alrm->is_paused = TRUE;
+ g_timer_stop (alrm->timer);
}
}
@@ -437,16 +447,12 @@ static void
stop_repeating_alarm (GtkWidget* menuitem, gpointer data)
{
plugin_data *pd = (plugin_data *) data;
+ alarm_t *alrm;
+ alrm = (alarm_t *) pd->selected->data;
- g_source_remove (pd->repeat_timeout);
-
- pd->alarm_repeating = FALSE;
+ g_source_remove (alrm->repeat_timeout);
- if (pd->timeout_command)
- {
- g_free (pd->timeout_command);
- pd->timeout_command = NULL;
- }
+ alrm->is_repeating = FALSE;
}
@@ -479,7 +485,7 @@ make_menu (plugin_data *pd)
GSList *group = NULL;
GList *list = NULL;
alarm_t *alrm;
- GtkWidget *menuitem;
+ GtkWidget *menuitem, *to_be_activated;
gchar *itemtext;
/* Destroy the existing one */
@@ -497,81 +503,62 @@ make_menu (plugin_data *pd)
alrm = (alarm_t *) list->data;
itemtext = g_strdup_printf ("%s (%s)", alrm->name, alrm->info);
- menuitem = gtk_radio_menu_item_new_with_label (group, itemtext);
- gtk_menu_shell_append (GTK_MENU_SHELL (pd->menu), menuitem);
/* The selected timer is always active */
- if (list == pd->selected)
- gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (menuitem), TRUE);
-
- /* others are disabled when timer or alarm is already running */
- else if (pd->timer_on || pd->alarm_repeating)
- gtk_widget_set_sensitive (GTK_WIDGET (menuitem), FALSE);
-
- group = gtk_radio_menu_item_get_group (GTK_RADIO_MENU_ITEM (menuitem));
- g_signal_connect (G_OBJECT (menuitem), "activate",
- G_CALLBACK (timer_selected), list);
-
- g_free (itemtext);
- list = list->next;
- }
-
- /* Horizontal line (empty item) */
- menuitem = gtk_separator_menu_item_new ();
- gtk_menu_shell_append (GTK_MENU_SHELL (pd->menu), menuitem);
-
- /* If the alarm is paused, the only option is to resume or stop */
- if (pd->is_paused)
- {
- menuitem = gtk_menu_item_new_with_label (_("Resume timer"));
+ if(alrm->timer_on){
+ menuitem=gtk_menu_item_new_with_label(itemtext);
+ gtk_menu_shell_append(GTK_MENU_SHELL(pd->menu),menuitem);
+ gtk_widget_set_sensitive(GTK_WIDGET(menuitem),FALSE);
+
+ gtk_check_menu_item_set_active(GTK_CHECK_MENU_ITEM(menuitem),TRUE);
+
+ /* Pause menu item */
+ if(!alrm->is_paused && alrm->is_countdown) {
+ menuitem=gtk_menu_item_new_with_label(_("Pause timer"));
+
+ gtk_menu_shell_append (GTK_MENU_SHELL(pd->menu),menuitem);
+ g_signal_connect (G_OBJECT(menuitem),"activate",
+ G_CALLBACK(pause_resume_selected),alrm);
+ }
+ /* If the alarm is paused, the only option is to resume or stop */
+ else if (alrm->is_paused) {
+ menuitem=gtk_menu_item_new_with_label(_("Resume timer"));
+
+ gtk_menu_shell_append (GTK_MENU_SHELL(pd->menu),menuitem);
+ g_signal_connect (G_OBJECT(menuitem),"activate",
+ G_CALLBACK(pause_resume_selected),alrm);
+ gtk_widget_show(menuitem);
+
+ gtk_widget_show(menuitem);
+ gtk_widget_show(pd->menu);
+ }
+
+ menuitem=gtk_menu_item_new_with_label(_("Stop timer"));
+
+ gtk_menu_shell_append (GTK_MENU_SHELL(pd->menu),menuitem);
+ g_signal_connect (G_OBJECT(menuitem),"activate",
+ G_CALLBACK(start_stop_selected),list);
+
+
+ }else{
+ menuitem=gtk_menu_item_new_with_label(itemtext);
+ gtk_menu_shell_append(GTK_MENU_SHELL(pd->menu),menuitem);
+ g_signal_connect (G_OBJECT(menuitem),"activate",
+ G_CALLBACK (timer_selected), list);
+ /* disable alarm menu entry if repeating command */
+ if(alrm->is_repeating)
+ gtk_widget_set_sensitive(GTK_WIDGET(menuitem),FALSE);
+ }
+
+ g_free (itemtext);
+ list = list->next;
+ if(list){
+ /* Horizontal line (empty item) */
+ menuitem=gtk_separator_menu_item_new();
+ gtk_menu_shell_append(GTK_MENU_SHELL(pd->menu),menuitem);
+ }
+ }
- gtk_menu_shell_append (GTK_MENU_SHELL (pd->menu), menuitem);
- g_signal_connect (G_OBJECT (menuitem), "activate",
- G_CALLBACK (pause_resume_selected), pd);
- gtk_widget_show (menuitem);
-
- menuitem = gtk_menu_item_new_with_label (_("Stop timer"));
-
- gtk_menu_shell_append (GTK_MENU_SHELL (pd->menu), menuitem);
- g_signal_connect (G_OBJECT (menuitem), "activate",
- G_CALLBACK (start_stop_selected), pd);
- gtk_widget_show (menuitem);
- }
- else
- {
- /* Pause menu item */
- if (pd->timer_on && !pd->is_paused && pd->is_countdown)
- {
- menuitem = gtk_menu_item_new_with_label (_("Pause timer"));
-
- gtk_menu_shell_append (GTK_MENU_SHELL (pd->menu), menuitem);
- g_signal_connect (G_OBJECT (menuitem), "activate",
- G_CALLBACK (pause_resume_selected), pd);
- }
-
- /* Start/stop menu item */
- if (!pd->alarm_repeating)
- {
- if (pd->timer_on)
- menuitem = gtk_menu_item_new_with_label (_("Stop timer"));
- else
- menuitem = gtk_menu_item_new_with_label (_("Start timer"));
-
- gtk_menu_shell_append (GTK_MENU_SHELL (pd->menu), menuitem);
- g_signal_connect (G_OBJECT (menuitem), "activate",
- G_CALLBACK (start_stop_selected), pd);
- }
-
- /* Stop repeating alarm if so */
- if (pd->alarm_repeating)
- {
- menuitem = gtk_menu_item_new_with_label (_("Stop the alarm"));
-
- gtk_menu_shell_append (GTK_MENU_SHELL (pd->menu), menuitem);
- g_signal_connect (G_OBJECT (menuitem), "activate",
- G_CALLBACK (stop_repeating_alarm), pd);
- }
- }
gtk_widget_show_all (pd->menu);
}
@@ -592,9 +579,16 @@ ok_add (GtkButton *button, gpointer data)
newalarm->name = g_strdup (gtk_entry_get_text (GTK_ENTRY (adata->name)));
newalarm->command = g_strdup (
gtk_entry_get_text (GTK_ENTRY (adata->command)));
- newalarm->iscountdown = gtk_toggle_button_get_active (
+ newalarm->is_countdown = gtk_toggle_button_get_active (
GTK_TOGGLE_BUTTON (adata->rb1));
newalarm->pd = (gpointer) adata->pd;
+ newalarm->timer_on = FALSE;
+ newalarm->timeout = 0;
+ newalarm->timer = NULL;
+ newalarm->is_paused = FALSE;
+ newalarm->rem_repetitions = 1;
+ newalarm->is_repeating = FALSE;
+ newalarm->repeat_timeout = 0;
adata->pd->alarm_list = g_list_append (adata->pd->alarm_list, newalarm);
if (g_list_length (adata->pd->alarm_list) == 1)
@@ -672,8 +666,13 @@ ok_edit (GtkButton *button, gpointer data)
alrm->name = g_strdup (gtk_entry_get_text (GTK_ENTRY (adata->name)));
alrm->command = g_strdup (
gtk_entry_get_text (GTK_ENTRY (adata->command)));
- alrm->iscountdown = gtk_toggle_button_get_active (
+ alrm->is_countdown = gtk_toggle_button_get_active (
GTK_TOGGLE_BUTTON (adata->rb1));
+ alrm->is_recurring = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(adata->
+ recur_cb));
+ alrm->is_auto_start = gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(adata->
+ autostart_cb));
+
/* This should be unnecessary, but do it anyway */
alrm->pd = (gpointer) adata->pd;
@@ -891,6 +890,20 @@ add_edit_clicked (GtkButton *buttonn, gpointer data)
/****************/
+ //add recurring alarm check button
+ button=gtk_check_button_new_with_label(_("Recurring alarm"));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button),FALSE);
+ adata->recur_cb=button;
+ gtk_box_pack_start(GTK_BOX(box),button,FALSE,FALSE,WIDGET_SPACING);
+
+
+ //add alarm autostart check button
+ button=gtk_check_button_new_with_label(_("Auto start"));
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button),FALSE);
+ adata->autostart_cb=button;
+ gtk_box_pack_start(GTK_BOX(box),button,FALSE,FALSE,WIDGET_SPACING);
+
+
hbox = gtk_button_box_new (GTK_ORIENTATION_HORIZONTAL);
gtk_button_box_set_layout (GTK_BUTTON_BOX (hbox), GTK_BUTTONBOX_END);
gtk_box_pack_start (GTK_BOX (box), hbox, TRUE, TRUE, WIDGET_SPACING);
@@ -929,9 +942,13 @@ add_edit_clicked (GtkButton *buttonn, gpointer data)
gtk_entry_set_text (GTK_ENTRY (name), alrm->name);
gtk_entry_set_text (GTK_ENTRY (command), alrm->command);
+ //load settings
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(adata->recur_cb),alrm->is_recurring);
+ gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(adata->autostart_cb),alrm->is_auto_start);
+
time = alrm->time;
- if (alrm->iscountdown)
+ if (alrm->is_countdown)
{
gtk_spin_button_set_value (GTK_SPIN_BUTTON (timeh), time / 3600);
gtk_spin_button_set_value (GTK_SPIN_BUTTON (timem),
@@ -1150,7 +1167,7 @@ load_settings (plugin_data *pd)
gchar groupname[8];
const gchar *timerstring;
gint groupnum, time;
- gboolean is_cd;
+ gboolean is_cd, is_recur, autostart;
alarm_t *alrm;
XfceRc *rc;
@@ -1182,7 +1199,13 @@ load_settings (plugin_data *pd)
alrm->info = g_strdup (timerstring);
is_cd = xfce_rc_read_bool_entry (rc, "is_countdown", TRUE);
- alrm->iscountdown = is_cd;
+ alrm->is_countdown = is_cd;
+
+ is_recur=xfce_rc_read_bool_entry(rc,"is_recur",FALSE);
+ alrm->is_recurring = is_recur;
+
+ autostart=xfce_rc_read_bool_entry(rc,"autostart",FALSE);
+ alrm->is_auto_start = autostart;
time = xfce_rc_read_int_entry (rc, "time", 0);
alrm->time = time;
@@ -1214,7 +1237,7 @@ load_settings (plugin_data *pd)
pd->global_command = g_strdup (
(gchar *) xfce_rc_read_entry (rc, "global_command", ""));
- pd->repeat_alarm = xfce_rc_read_bool_entry (rc, "repeat_alarm",
+ pd->repeat_alarm_command = xfce_rc_read_bool_entry (rc, "repeat_alarm",
FALSE);
pd->repetitions = xfce_rc_read_int_entry (rc, "repetitions", 1);
pd->repeat_interval = xfce_rc_read_int_entry (rc,
@@ -1281,7 +1304,12 @@ save_settings (XfcePanelPlugin *plugin, plugin_data *pd)
xfce_rc_write_entry (rc, "timerinfo", alrm->info);
- xfce_rc_write_bool_entry (rc, "is_countdown", alrm->iscountdown);
+ xfce_rc_write_bool_entry (rc, "is_countdown", alrm->is_countdown);
+
+ xfce_rc_write_bool_entry(rc,"is_recur",alrm->is_recurring);
+
+ xfce_rc_write_bool_entry(rc,"autostart",alrm->is_auto_start);
+
row_count++;
list = list->next;
@@ -1293,7 +1321,7 @@ save_settings (XfcePanelPlugin *plugin, plugin_data *pd)
xfce_rc_write_bool_entry (rc, "selecting_starts", pd->selecting_starts);
xfce_rc_write_bool_entry (rc, "use_global_command", pd->use_global_command);
xfce_rc_write_entry (rc, "global_command", pd->global_command);
- xfce_rc_write_bool_entry (rc, "repeat_alarm", pd->repeat_alarm);
+ xfce_rc_write_bool_entry (rc, "repeat_alarm", pd->repeat_alarm_command);
xfce_rc_write_int_entry (rc, "repetitions", pd->repetitions);
xfce_rc_write_int_entry (rc, "repeat_interval", pd->repeat_interval);
xfce_rc_close (rc);
@@ -1331,20 +1359,21 @@ tree_selected (GtkTreeSelection *select, gpointer data)
static void
plugin_free (XfcePanelPlugin *plugin, plugin_data *pd)
{
- /* remove timeouts */
- if (pd->timeout != 0)
- g_source_remove (pd->timeout);
- if (pd->repeat_timeout != 0)
- g_source_remove (pd->repeat_timeout);
+ GList *list = NULL;
+ alarm_t *alrm;
+ list = pd->alarm_list;
- if (pd->timer)
- g_timer_destroy (pd->timer);
+ while (list){
+ alrm = (alarm_t *) list->data;
+ /* remove timeouts */
+ if (alrm->timeout!=0) g_source_remove(alrm->timeout);
+ if (alrm->repeat_timeout!=0) g_source_remove(alrm->repeat_timeout);
- if (pd->active_timer_name)
- g_free (pd->active_timer_name);
+ if(alrm->timer)
+ g_timer_destroy(alrm->timer);
- if (pd->timeout_command)
- g_free (pd->timeout_command);
+ list = g_list_next (list);
+ }
if (pd->global_command)
g_free (pd->global_command);
@@ -1388,15 +1417,18 @@ options_dialog_response (GtkWidget *dlg, int reponse, plugin_data *pd)
/* Alarm dialog response */
static void
-dialog_response (GtkWidget *dlg, int response, plugin_data *pd)
+dialog_response (GtkWidget *dlg, int response, alarm_t* alrm)
{
+ plugin_data *pd;
+ pd = (plugin_data *) alrm->pd;
+
if (response != 1)
{
gtk_widget_destroy (dlg);
return;
}
- start_timer (pd);
+ start_timer (pd, alrm);
gtk_widget_destroy (dlg);
}
@@ -1444,8 +1476,8 @@ toggle_repeat_alarm (GtkToggleButton *button, gpointer data)
{
plugin_data *pd = (plugin_data *) data;
- pd->repeat_alarm = gtk_toggle_button_get_active (button);
- gtk_widget_set_sensitive (pd->repeat_alarm_box, pd->repeat_alarm);
+ pd->repeat_alarm_command = gtk_toggle_button_get_active (button);
+ gtk_widget_set_sensitive (pd->repeat_alarm_box, pd->repeat_alarm_command);
}
@@ -1646,7 +1678,7 @@ plugin_create_options (XfcePanelPlugin *plugin, plugin_data *pd)
/* Alarm repetitions config */
button = gtk_check_button_new_with_label (_("Repeat the alarm command"));
- gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), pd->repeat_alarm);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (button), pd->repeat_alarm_command);
g_signal_connect (G_OBJECT (button), "toggled",
G_CALLBACK (toggle_repeat_alarm), pd);
gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, WIDGET_SPACING);
@@ -1673,7 +1705,7 @@ plugin_create_options (XfcePanelPlugin *plugin, plugin_data *pd)
G_CALLBACK (spin2_changed), pd);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, WIDGET_SPACING);
- gtk_widget_set_sensitive (hbox, pd->repeat_alarm);
+ gtk_widget_set_sensitive (hbox, pd->repeat_alarm_command);
gtk_widget_show_all (GTK_WIDGET (dlg));
}
@@ -1752,6 +1784,8 @@ create_plugin_control (XfcePanelPlugin *plugin)
gchar *filename, *pathname;
plugin_data *pd = g_new0 (plugin_data, 1);
+ GList *list = NULL;
+ alarm_t *alrm;
xfce_textdomain (GETTEXT_PACKAGE, PACKAGE_LOCALE_DIR, "UTF-8");
@@ -1764,32 +1798,23 @@ create_plugin_control (XfcePanelPlugin *plugin)
G_TYPE_STRING); /* Command to run */
pd->eventbox = gtk_event_box_new ();
pd->box = NULL;
- pd->timer_on = FALSE;
- pd->timeout = 0;
pd->buttonadd = NULL;
pd->buttonedit = NULL;
pd->buttonremove = NULL;
pd->menu = NULL;
- pd->timeout_command = NULL;
- pd->timer = NULL;
- pd->active_timer_name = g_strdup ("");
pd->nowin_if_alarm = FALSE;
pd->selecting_starts = FALSE;
- pd->repeat_alarm = FALSE;
- pd->is_paused = FALSE;
- pd->is_countdown = TRUE;
+ pd->repeat_alarm_command = FALSE;
pd->use_global_command = FALSE;
pd->glob_command_entry = NULL;
pd->global_command = g_strdup (""); /* For Gtk >= 3.4 one could just set = NULL */
pd->global_command_box = NULL;
pd->repeat_alarm_box = NULL;
pd->repetitions = 1;
- pd->rem_repetitions = 1;
pd->repeat_interval = 10;
- pd->alarm_repeating = FALSE;
- pd->repeat_timeout = 0;
pd->alarm_list = NULL;
pd->selected = NULL;
+ pd->num_active_timers=0;
gtk_widget_set_tooltip_text (GTK_WIDGET (plugin), "");
@@ -1803,6 +1828,15 @@ create_plugin_control (XfcePanelPlugin *plugin)
load_settings (pd);
pd->selected = pd->alarm_list;
+ //Check if an alarm is auto start to start it at creation
+ list = pd->alarm_list;
+ while (list){
+ alrm = (alarm_t *) list->data;
+ if(alrm->is_auto_start){
+ start_timer(pd,alrm);
+ }
+ list = g_list_next (list);
+ }
gtk_progress_bar_set_fraction (GTK_PROGRESS_BAR (pd->pbar), 0);
diff --git a/panel-plugin/xfcetimer.h b/panel-plugin/xfcetimer.h
index 3fd62cf..1fe19dd 100644
--- a/panel-plugin/xfcetimer.h
+++ b/panel-plugin/xfcetimer.h
@@ -19,10 +19,19 @@
typedef struct
{
- gchar *name, *command, *info;
+ gchar *name, *info;
+ gchar *command; /* Command when countdown ends */
gint time;
- gboolean iscountdown;
+ gboolean is_recurring, is_auto_start, timer_on;
+
+ gboolean is_repeating; /* True while alarm repeats */
+ gboolean is_paused; /* True if the countdown is paused */
+ gboolean is_countdown; /* True if the alarm type is contdown */
gpointer pd;
+ gint timeout_period_in_sec, /* Active countdown period */
+ rem_repetitions; /* Remaining repeats */
+ guint timeout,repeat_timeout; /* The timeout IDs */
+ GTimer *timer; /* Keeps track of the time elapsed */
} alarm_t;
typedef struct
@@ -41,26 +50,17 @@ typedef struct
XfcePanelPlugin *base; /* The plugin widget */
GtkListStore *liststore; /* The alarms list */
gint count;
- gint timeout_period_in_sec; /* Active countdown period */
gint repetitions; /* Number of alarm repeats */
- gint rem_repetitions; /* Remaining repeats */
gint repeat_interval; /* Time interval between repeats (in secs) */
- guint timeout, repeat_timeout; /* The timeout IDs */
- gboolean timer_on; /* TRUE if countdown is in progress */
gboolean nowin_if_alarm; /* Show warning window when alarm command is set */
gboolean selecting_starts; /* selecting a timer also starts it */
- gboolean repeat_alarm; /* Repeat alarm */
+ gboolean repeat_alarm_command; /* Repeat alarm command*/
gboolean use_global_command; /* Use a default alarm command if no alarm command is set */
- gboolean alarm_repeating; /* True while alarm repeats */
- gboolean is_paused; /* True if the countdown is paused */
- gboolean is_countdown; /* True if the alarm type is contdown */
- gchar *timeout_command; /* Command when countdown ends */
gchar *global_command; /* The global (default) command to be run when countdown ends */
- gchar *active_timer_name; /* Name of the timer running */
gchar *configfile; /* Full address of the permanent config file -- this is not the plugin rc file. */
- GTimer *timer; /* Keeps track of the time elapsed */
GList *alarm_list; /* List of alarms */
GList *selected; /* Selected alarm */
+ guint num_active_timers;
} plugin_data;
typedef struct
@@ -69,6 +69,7 @@ typedef struct
GtkSpinButton *time_h, *time_m; /* Spinbuttons for 24h format */
GtkEntry *name, *command; /* Name, and command entries */
GtkRadioButton *rb1; /* Radio button for the h-m-s format */
+ GtkWidget *recur_cb, *autostart_cb; /* check buttons for recurring alarm, autostart */
GtkWidget *dialog; /* Add/Edit dialog */
plugin_data *pd; /* Plugin data */
} alarm_data;
diff --git a/po/de.po b/po/de.po
index fede8a9..13a9cc7 100644
--- a/po/de.po
+++ b/po/de.po
@@ -7,13 +7,14 @@
# Harald Judt <h.judt at gmx.at>, 2013
# Simon Schneider <simon at schneiderimtal.de>, 2009
# Tobias Bannert <tobannert at gmail.com>, 2014
+# Vinzenz Vietzke <vinz at vinzv.de>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Xfce Panel Plugins\n"
"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2014-06-05 06:31+0200\n"
-"PO-Revision-Date: 2017-09-19 18:06+0000\n"
-"Last-Translator: Tobias Bannert <tobannert at gmail.com>\n"
+"POT-Creation-Date: 2018-01-04 06:32+0100\n"
+"PO-Revision-Date: 2018-02-12 21:14+0000\n"
+"Last-Translator: Vinzenz Vietzke <vinz at vinzv.de>\n"
"Language-Team: German (http://www.transifex.com/xfce/xfce-panel-plugins/language/de/)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@@ -21,187 +22,213 @@ msgstr ""
"Language: de\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: ../src/xfcetimer.c:146
+#: ../panel-plugin/xfcetimer.c:153
#, c-format
msgid "%dh %dm %ds left"
msgstr "verbleibend: %d Stunden %d Minuten %d Sekunden"
-#: ../src/xfcetimer.c:149
+#: ../panel-plugin/xfcetimer.c:156
#, c-format
msgid "%dm %ds left"
msgstr "verbleibend: %d Minuten %d Sekunden"
-#: ../src/xfcetimer.c:151
+#: ../panel-plugin/xfcetimer.c:159
#, c-format
msgid "%ds left"
msgstr "verbleibend: %d Sekunden"
-#: ../src/xfcetimer.c:154
+#: ../panel-plugin/xfcetimer.c:163
msgid " (Paused)"
msgstr "(Angehalten)"
-#. Display the name of the alarm when the countdown ends
-#: ../src/xfcetimer.c:188
+#: ../panel-plugin/xfcetimer.c:198
#, c-format
msgid ""
"Beeep! :) \n"
"Time is up for the alarm %s."
msgstr "Biiing! :)\nDie Zeit für %s ist abgelaufen."
-#: ../src/xfcetimer.c:198
+#: ../panel-plugin/xfcetimer.c:210 ../panel-plugin/xfcetimer.c:1493
+msgid "Close"
+msgstr "Schließen"
+
+#: ../panel-plugin/xfcetimer.c:211
msgid "Rerun the timer"
msgstr "Zeitschaltuhr erneut starten"
-#: ../src/xfcetimer.c:487
+#: ../panel-plugin/xfcetimer.c:526
msgid "Resume timer"
msgstr "Zeitschaltuhr fortsetzen"
-#: ../src/xfcetimer.c:494 ../src/xfcetimer.c:550
+#: ../panel-plugin/xfcetimer.c:533 ../panel-plugin/xfcetimer.c:556
msgid "Stop timer"
msgstr "Zeitschaltuhr stoppen"
-#: ../src/xfcetimer.c:538
+#: ../panel-plugin/xfcetimer.c:545
msgid "Pause timer"
msgstr "Zeitschaltuhr anhalten"
-#: ../src/xfcetimer.c:552
+#: ../panel-plugin/xfcetimer.c:558
msgid "Start timer"
msgstr "Zeitschaltuhr starten"
-#: ../src/xfcetimer.c:561
+#: ../panel-plugin/xfcetimer.c:568
msgid "Stop the alarm"
msgstr "Alarm ausschalten"
-#: ../src/xfcetimer.c:618 ../src/xfcetimer.c:689
+#: ../panel-plugin/xfcetimer.c:622 ../panel-plugin/xfcetimer.c:696
#, c-format
msgid "%dh %dm %ds"
msgstr "%d Stunden %d Minuten %d Sekunden"
-#: ../src/xfcetimer.c:620 ../src/xfcetimer.c:691
+#: ../panel-plugin/xfcetimer.c:624 ../panel-plugin/xfcetimer.c:698
#, c-format
msgid "%dm %ds"
msgstr "%d Minuten %d Sekunden"
-#: ../src/xfcetimer.c:622 ../src/xfcetimer.c:693
+#: ../panel-plugin/xfcetimer.c:626 ../panel-plugin/xfcetimer.c:700
#, c-format
msgid "%ds"
msgstr "%d Sekunden"
-#: ../src/xfcetimer.c:631 ../src/xfcetimer.c:702
+#: ../panel-plugin/xfcetimer.c:634 ../panel-plugin/xfcetimer.c:709
#, c-format
msgid "At %02d:%02d"
msgstr "Bei %02d:%02d"
-#: ../src/xfcetimer.c:801
+#: ../panel-plugin/xfcetimer.c:815
msgid "Name:"
msgstr "Bezeichnung:"
-#. ********
-#: ../src/xfcetimer.c:809
+#: ../panel-plugin/xfcetimer.c:824
msgid "Enter the countdown time"
msgstr "Wartezeit eingeben"
-#: ../src/xfcetimer.c:812
+#: ../panel-plugin/xfcetimer.c:829
msgid "Enter the time of alarm (24h format)"
msgstr "Alarmzeit eingeben (24h-Format)"
-#: ../src/xfcetimer.c:824
+#: ../panel-plugin/xfcetimer.c:844
msgid "h "
msgstr "Stunden "
-#: ../src/xfcetimer.c:829
+#: ../panel-plugin/xfcetimer.c:851
msgid "m "
msgstr "Minuten "
-#: ../src/xfcetimer.c:834
+#: ../panel-plugin/xfcetimer.c:858
msgid "s "
msgstr "Sekunden "
-#: ../src/xfcetimer.c:837
+#: ../panel-plugin/xfcetimer.c:862
msgid "or"
msgstr "oder"
#. **************
-#: ../src/xfcetimer.c:857
+#: ../panel-plugin/xfcetimer.c:884
msgid "Command to run:"
msgstr "Befehl ausführen:"
-#: ../src/xfcetimer.c:887
+#: ../panel-plugin/xfcetimer.c:898
+msgid "Cancel"
+msgstr "Abbrechen"
+
+#: ../panel-plugin/xfcetimer.c:903
+msgid "Accept"
+msgstr "Akzeptieren"
+
+#: ../panel-plugin/xfcetimer.c:914
msgid "Add new alarm"
msgstr "Neuen Alarm erstellen"
-#: ../src/xfcetimer.c:924
+#: ../panel-plugin/xfcetimer.c:951
msgid "Edit alarm"
msgstr "Alarm bearbeiten"
-#: ../src/xfcetimer.c:1495 ../src/xfcetimer.c:1504
+#: ../panel-plugin/xfcetimer.c:1491
msgid "Xfce4 Timer Options"
msgstr "Einstellungen für die Xfce-Zeitschaltuhr"
-#: ../src/xfcetimer.c:1506
-msgid "Xfce 4 Timer Plugin"
-msgstr "Xfce-4-Zeitschaltuhrerweiterung"
-
-#: ../src/xfcetimer.c:1552
+#: ../panel-plugin/xfcetimer.c:1531
msgid "Timer name"
msgstr "Bezeichnung"
-#: ../src/xfcetimer.c:1557
+#: ../panel-plugin/xfcetimer.c:1536
msgid ""
"Countdown period /\n"
"Alarm time"
msgstr "Wartezeit /\nAlarmzeit"
-#: ../src/xfcetimer.c:1561
+#: ../panel-plugin/xfcetimer.c:1539
msgid "Alarm command"
msgstr "Alarmbefehl"
-#: ../src/xfcetimer.c:1617
+#: ../panel-plugin/xfcetimer.c:1557
+msgid "Add"
+msgstr "Hinzufügen"
+
+#: ../panel-plugin/xfcetimer.c:1565
+msgid "Edit"
+msgstr "Bearbeiten"
+
+#: ../panel-plugin/xfcetimer.c:1573
+msgid "Remove"
+msgstr "Entfernen"
+
+#: ../panel-plugin/xfcetimer.c:1581
+msgid "Up"
+msgstr "Hoch"
+
+#: ../panel-plugin/xfcetimer.c:1588
+msgid "Down"
+msgstr "Runter"
+
+#: ../panel-plugin/xfcetimer.c:1604
msgid "Don't display a warning if an alarm command is set"
msgstr "Keine Warnung anzeigen, wenn ein Alarmbefehl eingestellt ist"
-#: ../src/xfcetimer.c:1622
+#: ../panel-plugin/xfcetimer.c:1610
msgid "Selecting a timer starts it"
msgstr "Bei Auswahl einer Zeitschaltuhr startet diese"
#. Default alarm command config
-#: ../src/xfcetimer.c:1630
+#: ../panel-plugin/xfcetimer.c:1623
msgid "Use a default alarm command"
msgstr "Den vorgegebenen Alarmbefehl benutzen"
-#: ../src/xfcetimer.c:1637
+#: ../panel-plugin/xfcetimer.c:1632
msgid "Default command: "
msgstr "Standardbefehl:"
#. Alarm repetitions config
-#: ../src/xfcetimer.c:1649
+#: ../panel-plugin/xfcetimer.c:1648
msgid "Repeat the alarm command"
msgstr "Alarmbefehl wiederholen:"
-#: ../src/xfcetimer.c:1656
+#: ../panel-plugin/xfcetimer.c:1657
msgid "Number of repetitions"
msgstr "Anzahl der Wiederholungen"
-#: ../src/xfcetimer.c:1662
+#: ../panel-plugin/xfcetimer.c:1666
msgid " Time interval (sec.)"
msgstr "Zeitabstand (Sek.): "
-#: ../src/xfcetimer.c:1723
+#: ../panel-plugin/xfcetimer.c:1728
msgid "About xfce4-timer-plugin"
msgstr "Über xfce4-timer-plugin"
-#: ../src/xfcetimer.c:1728
+#: ../panel-plugin/xfcetimer.c:1731
msgid "A plugin to define countdown timers or alarms at given times."
msgstr "Eine Erweiterung zum Konfigurieren von Zeitschaltuhren und Alarmen."
-#: ../src/xfcetimer.c:1730
-msgid "Copyright (c) 2005-2013\n"
-msgstr "Urheberrecht (c) 2005-2013\n"
+#: ../panel-plugin/xfcetimer.c:1734
+msgid "Copyright (c) 2005-2018\n"
+msgstr "Copyright (c) 2005-2018\n"
-#: ../src/xfce4-timer.desktop.in.in.h:1
+#: ../panel-plugin/xfce4-timer-plugin.desktop.in.h:1
msgid "Xfce4 Timer"
msgstr "Xfce4-Zeitschaltuhr"
-#: ../src/xfce4-timer.desktop.in.in.h:2
+#: ../panel-plugin/xfce4-timer-plugin.desktop.in.h:2
msgid "Timer plugin for Xfce panel"
msgstr "Zeitschaltuhrerweiterung für die Xfce-Leiste"
diff --git a/po/en_GB.po b/po/en_GB.po
index 8be8f2a..119f195 100644
--- a/po/en_GB.po
+++ b/po/en_GB.po
@@ -203,3 +203,9 @@ msgstr "Xfce4 Timer"
#: ../src/xfce4-timer.desktop.in.in.h:2
msgid "Timer plugin for Xfce panel"
msgstr "Timer plugin for Xfce panel"
+
+msgid "Recurring alarm"
+msgstr "Recurring alarm"
+
+msgid "Auto start"
+msgstr "Auto start"
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.
More information about the Xfce4-commits
mailing list