diff --git a/ChangeLog b/ChangeLog index 05fcd04cd2..2cc37170e4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +2006-03-29 Emmanuele Bassi + + * docs/reference/gtk/migrating-GtkRecentChooser.sgml: Add a migration + guide for porting to the new GtkRecent stuff from the old EggRecent + code. + + * docs/reference/gtk/tmpl/gtkrecentchooser.sgml: + * docs/reference/gtk/tmpl/gtkrecentchooserdialog.sgml: + * docs/reference/gtk/tmpl/gtkrecentchoosermenu.sgml: + * docs/reference/gtk/tmpl/gtkrecentchooserwidget.sgml: + * docs/reference/gtk/tmpl/gtkrecentfilter.sgml: + * docs/reference/gtk/tmpl/gtkrecentmanager.sgml: Add template files + for the reference guide. + + * docs/reference/gtk/gtk-docs.sgml: + * docs/reference/gtk/gtk-sections.txt: + * docs/reference/gtk/Makefile.am: Build glue for add GtkRecent to + the reference guide. + 2006-03-29 Emmanuele Bassi * tests/Makefile.am: diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index 05fcd04cd2..2cc37170e4 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,22 @@ +2006-03-29 Emmanuele Bassi + + * docs/reference/gtk/migrating-GtkRecentChooser.sgml: Add a migration + guide for porting to the new GtkRecent stuff from the old EggRecent + code. + + * docs/reference/gtk/tmpl/gtkrecentchooser.sgml: + * docs/reference/gtk/tmpl/gtkrecentchooserdialog.sgml: + * docs/reference/gtk/tmpl/gtkrecentchoosermenu.sgml: + * docs/reference/gtk/tmpl/gtkrecentchooserwidget.sgml: + * docs/reference/gtk/tmpl/gtkrecentfilter.sgml: + * docs/reference/gtk/tmpl/gtkrecentmanager.sgml: Add template files + for the reference guide. + + * docs/reference/gtk/gtk-docs.sgml: + * docs/reference/gtk/gtk-sections.txt: + * docs/reference/gtk/Makefile.am: Build glue for add GtkRecent to + the reference guide. + 2006-03-29 Emmanuele Bassi * tests/Makefile.am: diff --git a/docs/reference/gtk/Makefile.am b/docs/reference/gtk/Makefile.am index a5f78d7839..78ee6dda7f 100644 --- a/docs/reference/gtk/Makefile.am +++ b/docs/reference/gtk/Makefile.am @@ -130,6 +130,7 @@ expand_content_files = \ migrating-GtkAboutDialog.sgml \ migrating-GtkColorButton.sgml \ migrating-GtkAssistant.sgml \ + migrating-GtkRecentChooser.sgml \ tree_widget.sgml \ text_widget.sgml \ question_index.sgml diff --git a/docs/reference/gtk/gtk-docs.sgml b/docs/reference/gtk/gtk-docs.sgml index d149d6477a..04d2796a95 100644 --- a/docs/reference/gtk/gtk-docs.sgml +++ b/docs/reference/gtk/gtk-docs.sgml @@ -91,6 +91,12 @@ + + + + + + @@ -203,6 +209,7 @@ + @@ -554,6 +561,16 @@ that is, GUI components such as GtkButton or &GtkVRuler; + + Recently Used Documents + &GtkRecentManager; + &GtkRecentChooser; + &GtkRecentChooserDialog; + &GtkRecentChooserMenu; + &GtkRecentChooserWidget; + &GtkRecentFilter; + + Deprecated &GtkCList; @@ -597,6 +614,7 @@ that is, GUI components such as GtkButton or >k-migrating-GtkAboutDialog; >k-migrating-GtkColorButton; >k-migrating-GtkAssistant; + >k-migrating-GtkRecentChooser; diff --git a/docs/reference/gtk/gtk-sections.txt b/docs/reference/gtk/gtk-sections.txt index 573ca74bf2..b70e177af7 100644 --- a/docs/reference/gtk/gtk-sections.txt +++ b/docs/reference/gtk/gtk-sections.txt @@ -2746,6 +2746,202 @@ GtkRangeLayout GtkRangeStepTimer +
+gtkrecentchooser +GtkRecentChooser +GtkRecentChooser +GtkRecentChooserIface +GTK_RECENT_CHOOSER_ERROR +GtkRecentChooserError +gtk_recent_chooser_set_show_private +gtk_recent_chooser_get_show_private +gtk_recent_chooser_set_show_not_found +gtk_recent_chooser_get_show_not_found +gtk_recent_chooser_set_show_icons +gtk_recent_chooser_get_show_icons +gtk_recent_chooser_set_select_multiple +gtk_recent_chooser_get_select_multiple +gtk_recent_chooser_set_local_only +gtk_recent_chooser_get_local_only +gtk_recent_chooser_set_limit +gtk_recent_chooser_get_limit +gtk_recent_chooser_set_show_tips +gtk_recent_chooser_get_show_tips +gtk_recent_chooser_set_show_numbers +gtk_recent_chooser_get_show_numbers +gtk_recent_chooser_set_sort_type +gtk_recent_chooser_get_sort_type +gtk_recent_chooser_set_sort_func +gtk_recent_chooser_set_current_uri +gtk_recent_chooser_get_current_uri +gtk_recent_chooser_get_current_item +gtk_recent_chooser_select_uri +gtk_recent_chooser_unselect_uri +gtk_recent_chooser_select_all +gtk_recent_chooser_unselect_all +gtk_recent_chooser_get_items +gtk_recent_chooser_get_uris +gtk_recent_chooser_add_filter +gtk_recent_chooser_remove_filter +gtk_recent_chooser_list_filters +gtk_recent_chooser_set_filter +gtk_recent_chooser_get_filter + +GTK_RECENT_CHOOSER +GTK_IS_RECENT_CHOOSER +GTK_TYPE_RECENT_CHOOSER +GTK_RECENT_CHOOSER_GET_IFACE + + +gtk_recent_chooser_get_type +gtk_recent_chooser_error_quark +
+ +
+gtkrecentchooserdialog +GtkRecentChooserDialog +GtkRecentChooserDialog +gtk_recent_chooser_dialog_new +gtk_recent_chooser_dialog_new_for_manager + +GTK_RECENT_CHOOSER_DIALOG +GTK_IS_RECENT_CHOOSER_DIALOG +GTK_TYPE_RECENT_CHOOSER_DIALOG +GTK_RECENT_CHOOSER_DIALOG_CLASS +GTK_IS_RECENT_CHOOSER_DIALOG_CLASS +GTK_RECENT_CHOOSER_DIALOG_GET_CLASS + + +gtk_recent_chooser_dialog_get_type +GtkRecentChooserDialogPrivate +
+ +
+gtkrecentchoosermenu +GtkRecentChooserMenu +GtkRecentChooserMenu +gtk_recent_chooser_menu_new +gtk_recent_chooser_menu_new_for_manager +gtk_recent_chooser_menu_get_show_numbers +gtk_recent_chooser_menu_set_show_numbers + +GTK_RECENT_CHOOSER_MENU +GTK_IS_RECENT_CHOOSER_MENU +GTK_TYPE_RECENT_CHOOSER_MENU +GTK_RECENT_CHOOSER_MENU_CLASS +GTK_IS_RECENT_CHOOSER_MENU_CLASS +GTK_RECENT_CHOOSER_MENU_GET_CLASS + + +gtk_recent_chooser_menu_get_type +GtkRecentChooserMenuPrivate +
+ +
+gtkrecentchooserwidget +GtkRecentChooserWidget +GtkRecentChooserWidget +gtk_recent_chooser_widget_new +gtk_recent_chooser_widget_new_for_manager + +GTK_RECENT_CHOOSER_WIDGET +GTK_IS_RECENT_CHOOSER_WIDGET +GTK_TYPE_RECENT_CHOOSER_WIDGET +GTK_RECENT_CHOOSER_WIDGET_CLASS +GTK_IS_RECENT_CHOOSER_WIDGET_CLASS +GTK_RECENT_CHOOSER_WIDGET_GET_CLASS + + +gtk_recent_chooser_widget_get_type +GtkRecentChooserWidgetPrivate +
+ +
+gtkrecentfilter +GtkRecentFilter +GtkRecentFilter +GtkRecentFilterInfo +GtkRecentFilterFlags +GtkRecentFilterFunc +gtk_recent_filter_new +gtk_recent_filter_get_name +gtk_recent_filter_set_name +gtk_recent_filter_add_mime_type +gtk_recent_filter_add_pattern +gtk_recent_filter_add_pixbuf_formats +gtk_recent_filter_add_application +gtk_recent_filter_add_group +gtk_recent_filter_add_age +gtk_recent_filter_add_custom +gtk_recent_filter_get_needed +gtk_recent_filter_filter + +GTK_RECENT_FILTER +GTK_IS_RECENT_FILTER +GTK_TYPE_RECENT_FILTER + + +gtk_recent_filter_get_type +
+ +
+gtkrecentmanager +GtkRecentManager +GtkRecentManager +GtkRecentInfo +GtkRecentData +GTK_RECENT_MANAGER_ERROR +GtkRecentManagerError +gtk_recent_manager_new +gtk_recent_manager_add_item +gtk_recent_manager_add_full +gtk_recent_manager_remove_item +gtk_recent_manager_lookup_item +gtk_recent_manager_has_item +gtk_recent_manager_move_item +gtk_recent_manager_get_limit +gtk_recent_manager_set_limit +gtk_recent_manager_get_items +gtk_recent_manager_purge_items + +gtk_recent_info_ref +gtk_recent_info_unref +gtk_recent_info_get_uri +gtk_recent_info_get_display_name +gtk_recent_info_get_description +gtk_recent_info_get_mime_type +gtk_recent_info_get_added +gtk_recent_info_get_modified +gtk_recent_info_get_visited +gtk_recent_info_get_private_hint +gtk_recent_info_get_application_info +gtk_recent_info_get_applications +gtk_recent_info_last_application +gtk_recent_info_get_groups +gtk_recent_info_has_group +gtk_recent_info_get_icon +gtk_recent_info_get_short_name +gtk_recent_info_get_uri_display +gtk_recent_info_get_age +gtk_recent_info_is_local +gtk_recent_info_exists +gtk_recent_info_match + +GTK_RECENT_MANAGER +GTK_IS_RECENT_MANAGER +GTK_TYPE_RECENT_MANAGER +GTK_RECENT_MANAGER_CLASS +GTK_IS_RECENT_MANAGER_CLASS +GTK_RECENT_MANAGER_GET_CLASS +GTK_TYPE_RECENT_INFO + + +gtk_recent_manager_get_type +gtk_recent_info_get_type +GtkRecentManagerPrivate +gtk_recent_manager_error_quark +
+
gtkruler GtkRuler diff --git a/docs/reference/gtk/migrating-GtkRecentChooser.sgml b/docs/reference/gtk/migrating-GtkRecentChooser.sgml new file mode 100644 index 0000000000..2f76d67d29 --- /dev/null +++ b/docs/reference/gtk/migrating-GtkRecentChooser.sgml @@ -0,0 +1,318 @@ + + + + Emmanuele + Bassi + +
+ ebassi@gmail.com +
+
+
+
+ + Migrating from EggRecent to GtkRecentChooser + + + Since version 2.10, GTK+ provides a way of handling the recently used + documents. It is similar to the code that has lived inside the libegg + library and has been incorporated by many applications. The GTK+ version + aims to completely replace that code, and offers many distinctive features + that improve the registration and visualization of the recently used + documents, such as: + + + + + + Better performances while reading and writing the list of recently used + files + + + More meta-data available for each recent document, like the + applications that have registered a document inside the list, the last + time and the number of times the same application did register a + document inside the list, an optional user readable name and + description of the document + + + Improved the ability to sort and filter the documents, also using + custom sorting and filtering functions + + + New widgets for displaying the list, and better integration with + current #GtkFileChooser and #GtkUIManager widgets + + + + +
+ Managing the Recently Used Documents + + + #GtkRecentManager is used to manage the Recently Used Documents. To + create a new #GtkRecentManager, you simply call gtk_recent_manager_new(). + Like the EggRecentModel inside EggRecent, the + #GtkRecentManager loads the list of the recent documents and notifies + you of changes inside the list. + + + + To add a document to the list, you can use gtk_recent_manager_add_item(), + like: + + GtkRecentManager *manager; + GError *error = NULL; + + manager = gtk_recent_manager_new (); + + gtk_recent_manager_add_item (manager, document_uri, &error); + if (error) + { + g_warning ("Unable to add '%s' to the list of recently used documents: %s\n", + document_uri, + error->message); + + g_error_free (error); + } + + g_object_unref (manager); + + The gtk_recent_manager_add_item() function will try and guess some of the + meta-data associated to a URI. If you know some of meta-data about the + document yourself, set the desired fields of a #GtkRecentData structure + and pass it to the gtk_recent_manager_add_full() function instead: + + GtkRecentManager *manager; + GtkRecentData *recent_data; + GError *error = NULL; + + manager = gtk_recent_manager_new (); + + recent_data = g_new0 (GtkRecentData, 1); + /* the user visible name of the document (maybe its title); should + * be preferred when displaying the item into the list + */ + recent_data->display_name = document_name; + + /* the MIME type is mandatory */ + recent_data->mime_type = document_mime_type; + + /* the name of the application that is registering the document + * (also mandatory); usually, the same name you used with + * the g_set_application_name() function. + */ + recent_data-&app_name = APP_NAME; + + /* the command to open a file; the %u string will be automagically + * expanded to the document's URI when getting the application's + * command line from the GtkRecentInfo object with + * gtk_recent_info_get_application_info() + */ + recent_data-&app_exec = g_strjoin (" ", g_get_prgname (), "--open-file", "%u", NULL); + + gtk_recent_manager_add_full (manager, document_uri, recent_data, &error); + if (error) + { + /* warn about the error */ + } + + g_free (recent_data->app_exec); + g_free (recent_data); + g_object_unref (manager); + + + + + Getting the list of items is also similar to + EggRecentModel; the GtkRecentInfo data is + allocated at look up time in order not to waste memory keeping it + around, so you must remember to free the data inside the list and then + the list itself when you are done using it: + + GList *recent_items, *l; + + recent_items = gtk_recent_manager_get_items (manager); + for (l = recent_items; l != NULL; l = l->next) + { + GtkRecentInfo *recent_info = l->data; + + do_something_with_the_item (recent_info); + } + + /* free everything and the list */ + g_list_foreach (recent_items, (GFunc) gtk_recent_info_unref, NULL); + g_list_free (recent_items); + + You can also look up a single item: + + GtkRecentInfo *recent_info; + GError *error = NULL; + + recent_info = gtk_recent_manager_lookup_item (manager, document_uri, &error); + if (error) + { + display_error (error); + + g_error_free (error); + } + else + { + do_something_with_the_item (recent_info); + + gtk_recent_info_unref (recent_info); + } + + The #GtkRecentInfo is a reference counted boxed type, and it holds all + the meta-data of a recently used document, like its display name, its + description, the list of each application that has registered the + document or the list of groups to which the document belong. + + +
+ +
+ Displaying the Recently Used Documents + + + Displaying the Recently Used Documents list is handled by any widget + implementing the #GtkRecentChooser interface. These widgets also handle + the sorting and filtering of the list; they will create their own + #GtkRecentManager objects by default: + + GtkWidget *chooser; + gint response; + + /* create a new dialog with the recently used documents list shown + * using a GtkTreeView widget + */ + chooser = gtk_recent_chooser_dialog_new ("Recent Documents", + parent_window, + GTK_STOCK_CLOSE, GTK_RESPONSE_CANCEL, + GTK_STOCK_OPEN, GTK_RESPONSE_OK, + NULL); + /* set the sorting order to "most recently used first" */ + gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (chooser), GTK_RECENT_SORT_MRU); + response = gtk_dialog_run (GTK_DIALOG (chooser)); + if (response == GTK_RESPONSE_OK) + { + GtkRecentInfo *info; + + info = gtk_recent_chooser_get_current_item (GTK_RECENT_CHOOSER (chooser)); + do_something_with_the_item (info); + + gtk_recent_info_unref (info); + } + + gtk_widget_destroy (chooser); + + + +
+ +
+ Advanced usage + + + The #GtkRecentChooser widgets might display items sorted and filtered, + either with already supplied or custom sorting and filtering functions. + The biggest difference from the EggRecentView + widgets in EggRecent is that the #GtkRecentChooser widgets will use + their own copy of the list and will apply the sorting and filtering + functions only on the copy; this allows the creation of many viewers + with a single controller, like using many #GtkTreeView with a single + #GtkTreeModel instance. + + + + Available sorting methods are: + + /* no sorting */ + gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (chooser), GTK_RECENT_SORT_NONE); + + /* most recently used first */ + gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (chooser), GTK_RECENT_SORT_MRU); + + /* most recently used last */ + gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (chooser), GTK_RECENT_SORT_LRU); + + You can create your own sorting function, and the use the + GTK_RECENT_SORT_CUSTOM method: + + /* custom sorting function, based on the registration count + * (most used first) + */ + static void + sort_by_usage_count (GtkRecentInfo *a, + GtkRecentInfo *b, + gpointer data) + { + gint count_a, count_b; + + count_a = count_b = 0; + + if (gtk_recent_info_has_application (a, APP_NAME)) + gtk_recent_info_get_application_info (a, APP_NAME, NULL, &count_a, NULL); + + if (gtk_recent_info_has_application (b, APP_NAME)) + gtk_recent_info_get_application_info (b, APP_NAME, NULL, &count_b, NULL); + + return count_a < count_b; + } + + ... + + /* set custom sorting and set the custom sorting function */ + gtk_recent_chooser_set_sort_type (GTK_RECENT_CHOOSER (chooser), + GTK_RECENT_SORT_CUSTOM); + gtk_recent_chooser_set_sort_func (GTK_RECENT_CHOOSER, + sort_by_usage_count, + NULL, /* sort function data */ + NULL /* destroy notify for the data */); + + + + + Filtering is done using the #GtkRecentFilter object, similar to the + #GtkFileFilter object used by the #GtkFileChooser widgets. The + #GtkRecentFilter object has a set of pre-defined options based on the + meta-data exposed by the #GtkRecentInfo object. It also allows custom + filtering function: + + GtkRecentFilter *filter; + + filter = gtk_recent_filter_new (); + + /* set the user visible name of the filter */ + gtk_recent_filter_set_name (filter, "Since Last Month"); + + /* set the maximum age of a recently used document */ + gtk_recent_filter_set_age (filter, 31); + + /* the chooser takes the ownership of the object */ + gtk_recent_chooser_add_filter (GTK_RECENT_CHOOSER (chooser), filter); + + /* set the currently used filter */ + gtk_recent_chooser_set_filter (GTK_RECENT_CHOOSER (chooser), filter); + + filter = gtk_recent_filter_new (); + gtk_recent_filter_set_name (filter, "Every text file"); + gtk_recent_filter_set_mime_type (filter, "text/plain"); + + gtk_recent_chooser_add_filter (GTK_RECENT_CHOOSER (chooser), filter); + + The #GtkRecentChooserWidget and #GtkRecentChooserDialog widgets allow + multiple filters and the selection of an appropriate one; the + #GtkRecentChooserMenu widget allows just a single filter object. + + +
+ +
+ + diff --git a/docs/reference/gtk/tmpl/gtkrecentchooser.sgml b/docs/reference/gtk/tmpl/gtkrecentchooser.sgml new file mode 100644 index 0000000000..411f9f953b --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkrecentchooser.sgml @@ -0,0 +1,363 @@ + +GtkRecentChooser + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@base_iface: +@set_current_uri: +@get_current_uri: +@select_uri: +@unselect_uri: +@select_all: +@unselect_all: +@get_items: +@get_recent_manager: +@add_filter: +@remove_filter: +@list_filters: +@set_sort_func: +@item_activated: +@selection_changed: + + + + + + + + + + + + + +@GTK_RECENT_CHOOSER_ERROR_NOT_FOUND: +@GTK_RECENT_CHOOSER_ERROR_INVALID_URI: + + + + + + +@chooser: +@show_private: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@show_not_found: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@show_icons: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@select_multiple: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@local_only: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@limit: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@show_tips: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@show_numbers: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@sort_type: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@sort_func: +@sort_data: +@data_destroy: + + + + + + + +@chooser: +@uri: +@error: +@Returns: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@uri: +@error: +@Returns: + + + + + + + +@chooser: +@uri: + + + + + + + +@chooser: + + + + + + + +@chooser: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@length: +@Returns: + + + + + + + +@chooser: +@filter: + + + + + + + +@chooser: +@filter: + + + + + + + +@chooser: +@Returns: + + + + + + + +@chooser: +@filter: + + + + + + + +@chooser: +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkrecentchooserdialog.sgml b/docs/reference/gtk/tmpl/gtkrecentchooserdialog.sgml new file mode 100644 index 0000000000..2046121c49 --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkrecentchooserdialog.sgml @@ -0,0 +1,50 @@ + +GtkRecentChooserDialog + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@title: +@parent: +@first_button_text: +@Varargs: +@Returns: + + + + + + + +@title: +@parent: +@manager: +@first_button_text: +@Varargs: +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkrecentchoosermenu.sgml b/docs/reference/gtk/tmpl/gtkrecentchoosermenu.sgml new file mode 100644 index 0000000000..c1093d0114 --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkrecentchoosermenu.sgml @@ -0,0 +1,60 @@ + +GtkRecentChooserMenu + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@Returns: + + + + + + + +@manager: +@Returns: + + + + + + + +@menu: +@Returns: + + + + + + + +@menu: +@show_numbers: + + diff --git a/docs/reference/gtk/tmpl/gtkrecentchooserwidget.sgml b/docs/reference/gtk/tmpl/gtkrecentchooserwidget.sgml new file mode 100644 index 0000000000..08b3b27736 --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkrecentchooserwidget.sgml @@ -0,0 +1,42 @@ + +GtkRecentChooserWidget + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@Returns: + + + + + + + +@manager: +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkrecentfilter.sgml b/docs/reference/gtk/tmpl/gtkrecentfilter.sgml new file mode 100644 index 0000000000..3b904050be --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkrecentfilter.sgml @@ -0,0 +1,170 @@ + +GtkRecentFilter + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@contains: +@uri: +@display_name: +@mime_type: +@applications: +@groups: +@age: + + + + + + +@GTK_RECENT_FILTER_URI: +@GTK_RECENT_FILTER_DISPLAY_NAME: +@GTK_RECENT_FILTER_MIME_TYPE: +@GTK_RECENT_FILTER_APPLICATION: +@GTK_RECENT_FILTER_GROUP: +@GTK_RECENT_FILTER_AGE: + + + + + + +@filter_info: +@user_data: +@Returns: + + + + + + + +@Returns: + + + + + + + +@filter: +@Returns: + + + + + + + +@filter: +@name: + + + + + + + +@filter: +@mime_type: + + + + + + + +@filter: +@pattern: + + + + + + + +@filter: + + + + + + + +@filter: +@application: + + + + + + + +@filter: +@group: + + + + + + + +@filter: +@days: + + + + + + + +@filter: +@needed: +@func: +@data: +@data_destroy: + + + + + + + +@filter: +@Returns: + + + + + + + +@filter: +@filter_info: +@Returns: + + diff --git a/docs/reference/gtk/tmpl/gtkrecentmanager.sgml b/docs/reference/gtk/tmpl/gtkrecentmanager.sgml new file mode 100644 index 0000000000..8d0a9d63da --- /dev/null +++ b/docs/reference/gtk/tmpl/gtkrecentmanager.sgml @@ -0,0 +1,384 @@ + +GtkRecentManager + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +@display_name: +@description: +@mime_type: +@app_name: +@app_exec: +@groups: +@is_private: + + + + + + + + + + + + + +@GTK_RECENT_MANAGER_ERROR_NOT_FOUND: +@GTK_RECENT_MANAGER_ERROR_INVALID_URI: +@GTK_RECENT_MANAGER_ERROR_INVALID_MIME: +@GTK_RECENT_MANAGER_ERROR_INVALID_ENCODING: +@GTK_RECENT_MANAGER_ERROR_NOT_REGISTERED: +@GTK_RECENT_MANAGER_ERROR_BAD_EXEC_STRING: +@GTK_RECENT_MANAGER_ERROR_READ: +@GTK_RECENT_MANAGER_ERROR_WRITE: +@GTK_RECENT_MANAGER_ERROR_UNKNOWN: + + + + + + +@Returns: + + + + + + + +@manager: +@uri: +@error: +@Returns: + + + + + + + +@manager: +@uri: +@recent_data: +@error: +@Returns: + + + + + + + +@manager: +@uri: +@error: +@Returns: + + + + + + + +@manager: +@uri: +@error: +@Returns: + + + + + + + +@manager: +@uri: +@Returns: + + + + + + + +@manager: +@uri: +@new_uri: +@error: +@Returns: + + + + + + + +@manager: +@Returns: + + + + + + + +@manager: +@limit: + + + + + + + +@manager: +@Returns: + + + + + + + +@manager: +@error: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@app_name: +@app_exec: +@count: +@time: +@Returns: + + + + + + + +@info: +@length: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@length: +@Returns: + + + + + + + +@info: +@group_name: +@Returns: + + + + + + + +@info: +@size: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info: +@Returns: + + + + + + + +@info_a: +@info_b: +@Returns: + +