static void collect_manager_entry_reset(CollectManagerEntry *entry);
static gint collect_manager_process_action(CollectManagerEntry *entry, gchar **path_ptr);
+namespace
+{
-static gboolean scan_geometry(gchar *buffer, gint *x, gint *y, gint *w, gint *h)
+gboolean scan_geometry(gchar *buffer, GdkRectangle &window)
{
gint nx, ny, nw, nh;
if (sscanf(buffer, "%d %d %d %d", &nx, &ny, &nw, &nh) != 4) return FALSE;
- *x = nx;
- *y = ny;
- *w = nw;
- *h = nh;
+ window.x = nx;
+ window.y = ny;
+ window.width = nw;
+ window.height = nh;
return TRUE;
}
+}
+
static gboolean collection_load_private(CollectionData *cd, const gchar *path, CollectionLoadFlags flags)
{
gchar s_buf[GQ_COLLECTION_READ_BUFSIZE];
limit_failures = FALSE;
}
else if (strncmp(p, "#geometry:", 10 ) == 0 &&
- scan_geometry(p + 10, &cd->window_x, &cd->window_y, &cd->window_w, &cd->window_h))
+ scan_geometry(p + 10, cd->window))
{
has_geometry_header = TRUE;
cd->window_read = TRUE;
collection_update_geometry(cd);
if (cd->window_read)
{
- secure_fprintf(ssi, "#geometry: %d %d %d %d\n", cd->window_x, cd->window_y, cd->window_w, cd->window_h);
+ secure_fprintf(ssi, "#geometry: %d %d %d %d\n", cd->window.x, cd->window.y, cd->window.width, cd->window.height);
}
work = cd->list;
cd->ref = 1; /* starts with a ref of 1 */
cd->sort_method = SORT_NONE;
- cd->window_w = COLLECT_DEF_WIDTH;
- cd->window_h = COLLECT_DEF_HEIGHT;
+ cd->window.width = COLLECT_DEF_WIDTH;
+ cd->window.height = COLLECT_DEF_HEIGHT;
cd->existence = g_hash_table_new(nullptr, nullptr);
if (path)
cd = cw->cd;
window = gtk_widget_get_window(cw->window);
- gdk_window_get_position(window, &cd->window_x, &cd->window_y);
- cd->window_w = gdk_window_get_width(window);
- cd->window_h = gdk_window_get_height(window);
+ gdk_window_get_position(window, &cd->window.x, &cd->window.y);
+ cd->window.width = gdk_window_get_width(window);
+ cd->window.height = gdk_window_get_height(window);
cd->window_read = TRUE;
}
if (options->save_window_positions && path && collection_load_only_geometry(cw->cd, path))
{
- gtk_window_set_default_size(GTK_WINDOW(cw->window), cw->cd->window_w, cw->cd->window_h);
- gq_gtk_window_move(GTK_WINDOW(cw->window), cw->cd->window_x, cw->cd->window_y);
+ gtk_window_set_default_size(GTK_WINDOW(cw->window), cw->cd->window.width, cw->cd->window.height);
+ gq_gtk_window_move(GTK_WINDOW(cw->window), cw->cd->window.x, cw->cd->window.y);
}
else
{