void
range_widget_get_bounds(GtkWidget *dialog, time_t *start, time_t *end)
{
	guint year, month, day;
	struct tm start_tm, end_tm;

	memset(&start_tm, 0, sizeof(struct tm));
	memset(&end_tm, 0, sizeof(struct tm));

	gtk_calendar_get_date(GTK_CALENDAR(start_calendar), &year, &month, &day);
	start_tm.tm_year = year - 1900;
	start_tm.tm_mon = month;
	start_tm.tm_mday = day;
	start_tm.tm_hour = gtk_spin_button_get_value(GTK_SPIN_BUTTON(start_hours));
	start_tm.tm_min = gtk_spin_button_get_value(GTK_SPIN_BUTTON(start_minutes));
	start_tm.tm_sec = gtk_spin_button_get_value(GTK_SPIN_BUTTON(start_seconds));

	gtk_calendar_get_date(GTK_CALENDAR(end_calendar), &year, &month, &day);
	end_tm.tm_year = year - 1900;
	end_tm.tm_mon = month;
	end_tm.tm_mday = day;
	end_tm.tm_hour = gtk_spin_button_get_value(GTK_SPIN_BUTTON(end_hours));
	end_tm.tm_min = gtk_spin_button_get_value(GTK_SPIN_BUTTON(end_minutes));
	end_tm.tm_sec = gtk_spin_button_get_value(GTK_SPIN_BUTTON(end_seconds));

	*start = mktime(&start_tm);
	*end = mktime(&end_tm);
}
static void
log_window_calendar_chats_day_selected_cb (GtkWidget       *calendar,
					   EmpathyLogWindow *window)
{
	guint  year;
	guint  month;
	guint  day;
	GDate *date;

	gtk_calendar_get_date (GTK_CALENDAR (calendar), &year, &month, &day);
	if (day == 0)
		/* No date selected */
		return;

	/* We need this hear because it appears that the months start from 0 */
	month++;

	date = g_date_new_dmy (day, month, year);

	DEBUG ("Currently selected date is: %04u-%02u-%02u", year, month, day);

	log_window_chats_get_messages (window, date);

	g_date_free (date);
}
Beispiel #3
0
void FormAccount_CalendarDateDaySelected(GtkCalendar* calendar, gpointer user_data)
{
    FormAccount* fa = (gpointer) user_data;
    GtkTreeModel* model;
    GtkTreePath* path;
    GtkTreeIter iter;
    guint year;
    guint month;
    guint day;
    gchar DateStr[100];


    if (fa->CalendarDateOnSelectEnabled == FALSE)
    {
        return ;
    }

    gtk_calendar_get_date(calendar, &year, &month, &day);
    ++month;

    if (FormAccount_GetCursor(fa, &model, &path, &iter) == FALSE)
    {
        return ;
    }

    g_sprintf(DateStr, "%04u-%02u-%02u 00:00:00", year, month, day);
    gtk_list_store_set(GTK_LIST_STORE(model), &iter, COL_ID_DATE, DateStr, -1);

    FormAccount_UpdateModifiedRecordState(fa, &model, &iter);

    gtk_tree_path_free(path);
}
Beispiel #4
0
static void
log_window_chats_get_messages (EmpathyLogWindow *window,
			       const gchar     *date_to_show)
{
	TpAccount     *account;
	gchar         *chat_id;
	gboolean       is_chatroom;
	const gchar   *date;
	guint          year_selected;
	guint          year;
	guint          month;
	guint          month_selected;
	guint          day;


	if (!log_window_chats_get_selected (window, &account,
					    &chat_id, &is_chatroom)) {
		return;
	}

	g_signal_handlers_block_by_func (window->calendar_chats,
					 log_window_calendar_chats_day_selected_cb,
					 window);

	/* Either use the supplied date or get the last */
	date = date_to_show;
	if (!date) {
		/* Get a list of dates and show them on the calendar */
		tpl_log_manager_get_dates_async (window->log_manager,
						       account, chat_id,
						       is_chatroom,
						       log_manager_got_dates_cb, (gpointer) window);
    /* signal unblocked at the end of the CB flow */
	} else {
		sscanf (date, "%4d%2d%2d", &year, &month, &day);
		gtk_calendar_get_date (GTK_CALENDAR (window->calendar_chats),
				&year_selected,
				&month_selected,
				NULL);

		month_selected++;

		if (year != year_selected && month != month_selected) {
			day = 0;
		}

		gtk_calendar_select_day (GTK_CALENDAR (window->calendar_chats), day);

    g_signal_handlers_unblock_by_func (window->calendar_chats,
        log_window_calendar_chats_day_selected_cb,
        window);
	}

	if (date) {
      log_window_get_messages_for_date (window, date);
	}

	g_object_unref (account);
	g_free (chat_id);
}
bool Calendar::runExternalViewer()
{
    Config* config = Config::getInstance();
    size_t len = config->external_viewer.length();
    if (len > 0) {
        int year, month, day;
        gtk_calendar_get_date((GtkCalendar*)widget,
                              (guint*)&year, (guint*)&month, (guint*)&day);
        struct tm date;
        date.tm_year = year - 1900;
        date.tm_mon = month;
        date.tm_mday = day;
        date.tm_sec = date.tm_min = date.tm_hour = date.tm_wday
                    = date.tm_yday = date.tm_isdst = 0;

        size_t buf_size = len + 64;
        char* cmd = new char[buf_size];
        strftime(cmd, buf_size, config->external_viewer.c_str(), &date);
        fork_and_run(cmd);
        delete[] cmd;
        return true;
    } else {
        return false;
    }
}
static void
gcrd_day_selected (GtkWidget *popup_window, GncCellRendererDate *cell)
{
	guint    year;
	guint    month;
	guint    day;
	time64   t;
	gchar   *str;

	gtk_calendar_get_date (GTK_CALENDAR (cell->calendar),
			       &year,
			       &month,
			       &day);

        t = gcrd_dmy2time ( day, month + 1, year);

	cell->time = t;

	str = gcrd_time2dmy_string (t);

	gnc_popup_entry_set_text (
		GNC_POPUP_ENTRY (GNC_CELL_RENDERER_POPUP (cell)->editable), str);
	g_free (str);

}
Beispiel #7
0
static void dt_date_ok_callback(GtkWidget *button, cbdata *cbd)
{
     GtkWidget *editwindow = cbd->editwindow;
     GtkWidget *w;
     guint y, m, d;
     int sign;
     char buffer[10];
     time_t t = 0;
     struct tm tm;

     w = gtk_object_get_data(GTK_OBJECT(editwindow), "calendar");
     if (w) {
	  gtk_calendar_get_date(GTK_CALENDAR(w), &y, &m, &d);

	  memset(&tm, 0, sizeof(struct tm));
	  tm.tm_year = y - 1900;
	  tm.tm_mon = m;
	  tm.tm_mday = d;
	  t = mktime(&tm);
	  t /= 24*60*60;
     }

     snprintf(buffer, sizeof(buffer), "%ld", t);

     w = gtk_object_get_data(GTK_OBJECT(cbd->hbox), "inputbox");
     gtk_entry_set_text(GTK_ENTRY(w), buffer);
     gtk_widget_destroy(editwindow);
}
void Calendar::_change(int year_offset, int month_offset, int day_offset)
{
    int year, month, day;
    gtk_calendar_get_date((GtkCalendar*)widget,
                          (guint*)&year, (guint*)&month, (guint*)&day);

    unsigned int n_days = _n_days(year, month);
    day += day_offset;
    if (day < 1) {
        day += _n_days(year, month - 1);
        month_offset--;
    } else if (day > n_days) {
        day -= n_days;
        month_offset++;
    }

    month += month_offset;
    if (month > 11) {
        month = 0;
        year_offset++;
    } else if (month < 0) {
        month = 11;
        year_offset--;
    }

    year += year_offset;

    gtk_calendar_select_month((GtkCalendar*)widget, (guint)month, (guint)year);
    gtk_calendar_select_day((GtkCalendar*)widget, day);
}
Beispiel #9
0
/**
 * Print the selected date on a calendar.
 * @param calendar calendar to print information about
 */
void mk_print_GtkCalendar_info(GtkCalendar* calendar)
{
    guint year;
    guint month;
    guint day;
    gtk_calendar_get_date(calendar, &year, &month, &day);
    g_printf("\t%d-%02d-%02d", year, month+1, day); // YYYY-MM-DD
}
Beispiel #10
0
void button_event(GtkWidget *widget, gpointer data)
{
    guint year;
    guint month;
    guint day;
    gtk_calendar_get_date(GTK_CALENDAR(calendar), &year, &month, &day);
    g_print("Year: %d, Month: %d, Day: %d\n", year, month, day);
}
Beispiel #11
0
void
popcalendar_run(GtkWidget *parent, guint date[], int markfirstyear, guint32 marks[]) {
	GtkWidget *win;
	GtkWidget *frame, *box;
	GtkWidget *cal;
	calendar_data cdata_actual = {0}, *cdata = &cdata_actual;

	win = gtk_window_new(GTK_WINDOW_POPUP);
	cdata->win = win;
	cdata->date = date;
	cdata->marks = marks;
	cdata->markfirstyear = markfirstyear;
	gtk_window_set_transient_for(GTK_WINDOW(win), GTK_WINDOW(parent));
	gtk_window_set_modal(GTK_WINDOW(win), TRUE);
	gtk_window_set_position(GTK_WINDOW(win), GTK_WIN_POS_MOUSE);
	g_signal_connect(G_OBJECT(win), "destroy",
			G_CALLBACK(gtk_main_quit), NULL);

	frame = gtk_frame_new(NULL);
	gtk_frame_set_shadow_type(GTK_FRAME(frame), GTK_SHADOW_OUT);

	box = gtk_vbox_new(FALSE, 5);
	gtk_container_set_border_width(GTK_CONTAINER(box), 5);

	/*hbox = gtk_hbox_new(FALSE, 5);
	gtk_box_pack_start(GTK_BOX(hbox), gtk_label_new("Select day:"),
			FALSE, FALSE, 0);
	gtk_box_pack_end(GTK_BOX(hbox), gtk_button_new_with_label("x"),
			FALSE, FALSE, 0);
	gtk_box_pack_start(GTK_BOX(box), hbox, FALSE, FALSE, 0);*/

	cal = gtk_calendar_new();
	if (date[0] != 0) {
		gtk_calendar_select_month(GTK_CALENDAR(cal), date[1]-1, date[0]);
		gtk_calendar_select_day(GTK_CALENDAR(cal), date[2]);
	} else {
		gtk_calendar_get_date(GTK_CALENDAR(cal), &date[0], &date[1], &date[2]);
	}
	g_signal_connect(G_OBJECT(cal), "day-selected",
			G_CALLBACK(day_selected), cdata);
	g_signal_connect(G_OBJECT(cal), "month-changed",
			G_CALLBACK(month_changed), cdata);
	gtk_calendar_display_options(GTK_CALENDAR(cal),
			GTK_CALENDAR_SHOW_HEADING |
			GTK_CALENDAR_SHOW_DAY_NAMES);
	popcalendar_set_marks(GTK_CALENDAR(cal),
			marks[(date[0]-markfirstyear)*12 + date[1]-1]);

	gtk_box_pack_start(GTK_BOX(box), cal, TRUE, TRUE, 0);

	gtk_container_add(GTK_CONTAINER(frame), box);
	gtk_container_add(GTK_CONTAINER(win), frame);

	gtk_widget_show_all(frame);
	gtk_widget_show(win);

	gtk_main();
}
Beispiel #12
0
static	void
GetCalendar(
	GtkWidget			*widget,
	_Calendar			*data)
{
ENTER_FUNC;
	gtk_calendar_get_date(GTK_CALENDAR(widget), 
		&(data->year),&(data->month),&(data->day));
LEAVE_FUNC;
}
Beispiel #13
0
/*
** store the calendar date to GDate, update our gtkentry
*/
static void gtk_dateentry_calendar_getfrom(GtkWidget * calendar, GtkDateEntry * dateentry)
{
guint year, month, day;

	DB( g_print(" (dateentry) get from calendar\n") );

	gtk_calendar_get_date (GTK_CALENDAR (dateentry->calendar), &year, &month, &day);
	g_date_set_dmy (dateentry->date, day, month + 1, year);
	gtk_dateentry_datetoentry(dateentry);
}
Beispiel #14
0
Datei: data.c Projekt: uelei/pbc
void selecionadata(GtkWidget *widget,gpointer *entry){
gint ano,mes,dia;
char data[11];
gtk_calendar_get_date(GTK_CALENDAR(calendar),&ano,&mes,&dia);
mes ++;
//g_print("%d/%d/%d",dia,mes,ano);
//gtk_entry_set_text
sprintf(data,"%d/%d/%d",dia,mes,ano);
gtk_entry_set_text(GTK_ENTRY(entry),data);

}
Beispiel #15
0
void on_calendar1_day_selected( GtkWidget *widget, struct _properties *properties )
{
  g_print("on_calendar1_day_selected()\n");

  guint day, month, year;
  gtk_calendar_get_date (GTK_CALENDAR(properties->GtkInfo.calendar1), &year, &month, &day);

  int daysaway = date_to_days_away(day,month+1,year-2000);

  g_print("daysaway = %d, day = %d, month = %d, year = %d\n", daysaway, day, month, year);

  if(daysaway < 0)
  {
    properties->data.t[properties->calendarSelected] = 0;
    gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelCalendar),"Please select date greater than current");

  } else
  {
    time(&properties->starttime);

    int dummy;
    int hour;
    int minute;
    int seconds;

    switch(properties->calendarSelected)
    {
    case 0:
      decimal_date_to_real_dates(properties->data.t[properties->calendarSelected] - properties->data.te, &dummy, &dummy, &dummy, &hour, &minute, &seconds);
      break;

    case 1:
      decimal_date_to_real_dates(properties->data.t[properties->calendarSelected] - properties->data.te2, &dummy, &dummy, &dummy, &hour, &minute, &seconds);
      break;

    case 2:
      decimal_date_to_real_dates(properties->data.t[properties->calendarSelected] - properties->data.te3, &dummy, &dummy, &dummy, &hour, &minute, &seconds);
      break;

    default:
      g_print("on_calendar1_day_selected(): Bad calendarSelected switch\n");
      break;
    }

    properties->data.t[properties->calendarSelected] = adjust_to_current_time_forward( (double) --daysaway / (double) 365, 0.0 );

    double k = (double) (
                 ( (double)(hour)*(double)60*(double)60) +
                 (double)(minute*60) + (double)seconds);

    properties->data.t[properties->calendarSelected] += (double) ( (k) /(double)86400)/(double)365;
    gtk_label_set_text(GTK_LABEL(properties->GtkInfo.labelCalendar),"");
  }
}
Beispiel #16
0
static void
day_selected(GtkWidget *cal, calendar_data *cdata) {
	/* don't close it when the day change was caused by a month change! */
	if (!cdata->closehack) {
		guint *date = cdata->date;
		gtk_calendar_get_date(GTK_CALENDAR(cal), &date[0], &date[1], &date[2]);
		date[1]++; /* month was zero-based. */
		gtk_widget_destroy(cdata->win);
	}
	cdata->closehack = FALSE;
}
Beispiel #17
0
static void
day_selected (GtkCalendar *calendar, GNCDateEdit *gde)
{
    Timespec t;
    guint year, month, day;
    gde->in_selected_handler = TRUE;
    gtk_calendar_get_date (calendar, &year, &month, &day);
    /* GtkCalendar returns a 0-based month */
    t = gnc_dmy2timespec (day, month + 1, year);
    gnc_date_edit_set_time_ts (gde, t);
    gde->in_selected_handler = FALSE;
}
Beispiel #18
0
bool Calendar::markToday()
{
    guint year, month;
    gtk_calendar_get_date((GtkCalendar*)widget, &year, &month, NULL);
    if (year == today_year && month == today_month) {
        gtk_calendar_mark_day((GtkCalendar*)widget, today_day);
        return true;
    } else {
        gtk_calendar_unmark_day((GtkCalendar*)widget, today_day);
        return false;
    }
}
Beispiel #19
0
static void
month_changed(GtkWidget *cal, calendar_data *cdata) {
	guint year, mon, day;

	cdata->closehack = TRUE;
	gtk_calendar_get_date(GTK_CALENDAR(cal), &year, &mon, &day);
	if (year < cdata->markfirstyear)
		popcalendar_set_marks(GTK_CALENDAR(cal), 0);
	else
		popcalendar_set_marks(GTK_CALENDAR(cal),
				cdata->marks[(year-cdata->markfirstyear)*12 + mon]);
}
Beispiel #20
0
CAMLprim value ml_gtk_calendar_get_date (value w)
{
    guint year, month, day;
    value ret;

    gtk_calendar_get_date (GtkCalendar_val(w), &year, &month, &day);
    ret = alloc_small (3, 0);
    Field(ret,0) = Val_int(year);
    Field(ret,1) = Val_int(month);
    Field(ret,2) = Val_int(day);
    return ret;
}
Beispiel #21
0
static void  lunar_calendar_day_selected(GtkCalendar *gcalendar)
{
	guint year, month, day;
	GError *error = NULL;
	LunarCalendar *calendar;
	gchar *holiday, *format, *strtime, *color;

	calendar = LUNAR_CALENDAR(gcalendar);

	if (getenv("LUNAR_CALENDAR_IGNORE_NON_CHINESE") != NULL)
	{
		const gchar* const * langs =  g_get_language_names();

		if (langs[0] && langs[0][0] != '\0')
			if (!g_str_has_prefix(langs[0], "zh_")) {
				g_object_set (gcalendar, "show-details", FALSE, NULL);
				return;
			}
	}

	gtk_calendar_get_date(gcalendar, &year, &month, &day);
	lunar_date_set_solar_date(calendar->date, year, month + 1, day, 3, &error);
	if (error != NULL) {
		g_clear_error (&error);
		return;
	}

	color = rgba_to_string(calendar->rgba);
	holiday = lunar_date_get_holiday(calendar->date, "\n");
	if (holiday != NULL) {
		format = g_strdup_printf("%s\n%s\n%s\n%s\n<span color=\"%s\">%s</span>",
				_("%(year)-%(month)-%(day)"),
				_("%(YUE)yue%(RI)"),
				_("%(Y60)nian%(M60)yue%(D60)ri"),
				_("shengxiao: %(shengxiao)"),
				color,
				holiday);
	} else {
		format = g_strdup_printf("%s\n%s\n%s\n%s",
				_("%(year)-%(month)-%(day)"),
				_("%(YUE)yue%(RI)"),
				_("%(Y60)nian%(M60)yue%(D60)ri"),
				_("shengxiao: %(shengxiao)"));
	}
	strtime = lunar_date_strftime(calendar->date, format);
	g_free(color);
	g_free(holiday);
	g_free(format);

	gtk_widget_set_tooltip_markup(GTK_WIDGET(gcalendar), strtime);
	g_free(strtime);
}
Beispiel #22
0
static VALUE
rg_date(VALUE self)
{
    VALUE ret;
    guint year, month, day;

    gtk_calendar_get_date(_SELF(self), &year, &month, &day);
    ret = rb_ary_new();
    rb_ary_push(ret, INT2FIX(year));
    rb_ary_push(ret, INT2FIX(month+1));
    rb_ary_push(ret, INT2FIX(day));
    return ret;
}
Beispiel #23
0
int
clip_GTK_CALENDARGETDATE(ClipMachine * ClipMachineMemory)
{
   C_widget *ccal = _fetch_cw_arg(ClipMachineMemory);

   guint     year, month, day;

   CHECKCWID(ccal, GTK_IS_CALENDAR);
   gtk_calendar_get_date(GTK_CALENDAR(ccal->widget), &year, &month, &day);
   _clip_retdc(ClipMachineMemory, year, month + 1, day);
   return 0;
 err:
   return 1;
}
Beispiel #24
0
int get_date(GtkWidget *t, isoDate_t *date)
{
	GtkWidget	*w;
	GtkWindow	*win;
	GtkWidget	*thiswin;
	gint		x,x_off;
	gint		y,y_off;
	guint		year;
	guint		month;
	guint		day;
	isoDate_t	odate=*date;

	got_date=0;
	win=GTK_WINDOW(gtk_builder_get_object (builder, "CalendarWindow"));
	if(win==NULL) {
		fprintf(stderr,"Could not locate Calendar window\n");
		return(-1);
	}

	thiswin = gtk_widget_get_toplevel(t);
	if(thiswin==NULL) {
		fprintf(stderr,"Could not locate main window\n");
		return(-1);
	}
	if(!(gtk_widget_translate_coordinates(GTK_WIDGET(t)
			,GTK_WIDGET(thiswin), 0, 0, &x_off, &y_off))) {
		fprintf(stderr,"Could not get position of button in window");
	}
	gtk_window_get_position(GTK_WINDOW(thiswin), &x, &y);

	gtk_window_move(GTK_WINDOW(win), x+x_off, y+y_off);

	w=GTK_WIDGET(gtk_builder_get_object (builder, "Calendar"));
	if(w==NULL) {
		fprintf(stderr,"Could not locate Calendar widget\n");
		return(-1);
	}
	gtk_calendar_select_month(GTK_CALENDAR(w), isoDate_month(*date)-1, isoDate_year(*date));
	gtk_calendar_select_day(GTK_CALENDAR(w), isoDate_day(*date));
	gtk_window_present(GTK_WINDOW(win));
	/* Wait for window to close... */
	gtk_main();
	w=GTK_WIDGET(gtk_builder_get_object (builder, "Calendar"));
	if(w==NULL)
		return(-1);
	gtk_calendar_get_date(GTK_CALENDAR(w), &year, &month, &day);
	gtk_widget_hide_on_delete(GTK_WIDGET(gtk_widget_get_toplevel(GTK_WIDGET(w))));
	*date=isoDate_create(year, month+1, day);
	return(odate!=*date);
}
Beispiel #25
0
void calendar_date_to_string( CalendarData *data,
			      char         *buffer,
			      gint          buff_len )
{
  struct tm tm;
  time_t time;

  memset (&tm, 0, sizeof (tm));
  gtk_calendar_get_date (GTK_CALENDAR(data->window),
			 &tm.tm_year, &tm.tm_mon, &tm.tm_mday);
  tm.tm_year -= TM_YEAR_BASE;
  time = mktime(&tm);
  strftime (buffer, buff_len-1, "%x", gmtime(&time));
}
Beispiel #26
0
static void gtk_dateentry_calendar_year(GtkWidget *calendar, GtkDateEntry *dateentry)
{
guint year, month, day;

	DB( g_print(" (dateentry) year changed\n") );

	gtk_calendar_get_date (GTK_CALENDAR (dateentry->calendar), &year, &month, &day);
	if( year < 1900)
		g_object_set(calendar, "year", 1900, NULL);

	if( year > 2200)
		g_object_set(calendar, "year", 2200, NULL);
	
}
Beispiel #27
0
void Calendar::_change(int year_offset, int month_offset)
{
    int year, month;
    gtk_calendar_get_date((GtkCalendar*)widget, (guint*)&year, (guint*)&month, NULL);
    month += month_offset;
    if (month > 11) {
        month = 0;
        year_offset++;
    } else if (month < 0) {
        month = 11;
        year_offset--;
    }
    year += year_offset;
    gtk_calendar_select_month((GtkCalendar*)widget, (guint)month, (guint)year);
}
Beispiel #28
0
static void
calendar_date_to_string (CalendarData *data,
			      char         *buffer,
			      gint          buff_len)
{
  GDate *date;
  guint year, month, day;

  gtk_calendar_get_date (GTK_CALENDAR(data->window),
			 &year, &month, &day);
  date = g_date_new_dmy (day, month + 1, year);
  g_date_strftime (buffer, buff_len-1, "%x", date);

  g_date_free (date);
}
Beispiel #29
0
static void
calendar_update_details (CalendarData *data)
{
  guint year, month, day;
  gchar *detail;

  gtk_calendar_get_date (GTK_CALENDAR (data->calendar_widget), &year, &month, &day);
  detail = calendar_get_detail (data, year, month, day);

  g_signal_handler_block (data->details_buffer, data->details_changed);
  gtk_text_buffer_set_text (data->details_buffer, detail ? detail : "", -1);
  g_signal_handler_unblock (data->details_buffer, data->details_changed);

  g_free (detail);
}
Beispiel #30
0
static void
date_selected_cb (GNCDatePicker *gdp, gpointer data)
{
    DateCell *cell = data;
    PopBox *box = cell->cell.gui_private;
    guint day, month, year;
    char buffer[DATE_BUF];

    gtk_calendar_get_date (gdp->calendar, &year, &month, &day);

    qof_print_date_dmy_buff (buffer, MAX_DATE_LENGTH, day, month + 1, year);

    box->in_date_select = TRUE;
    gnucash_sheet_modify_current_cell (box->sheet, buffer);
    box->in_date_select = FALSE;
}