return TRUE;
}
-/**
- * katze_xbel_folder_from_data_dirs:
- * @folder: An empty folder.
- * @file: A relative path to a file.
- * @full_path: return location for the full path of the file or %NULL
- * @error: return location for a GError or %NULL
- *
- * Tries to load @file from the user data dir or any of the system data dirs.
- *
- * Return value: %TRUE on success or %FALSE when an error occured.
- **/
-gboolean
-katze_xbel_folder_from_data_dirs (KatzeXbelItem* folder,
- const gchar* file,
- gchar** full_path,
- GError** error)
-{
- g_return_val_if_fail (katze_xbel_folder_is_empty (folder), FALSE);
- g_return_val_if_fail (file, FALSE);
- /* FIXME: Essentially unimplemented */
-
- *error = g_error_new_literal (KATZE_XBEL_ERROR, KATZE_XBEL_ERROR_READ,
- _("Malformed document."));
- return FALSE;
-}
-
static gchar*
katze_xbel_xml_element (const gchar* name,
const gchar* value)
return markup;
}
-/**
- * katze_xbel_folder_to_data:
- * @folder: A folder.
- * @length: return location for the length of the created string or %NULL
- * @error: return location for a GError or %NULL
- *
- * Retrieve the contents of @folder as a string.
- *
- * Return value: %TRUE on success or %FALSE when an error occured.
- **/
-gchar*
+static gchar*
katze_xbel_folder_to_data (KatzeXbelItem* folder,
gsize* length,
GError** error)
const gchar* file,
GError** error);
-gboolean
-katze_xbel_folder_from_data_dirs (KatzeXbelItem* folder,
- const gchar* file,
- gchar** full_path,
- GError** error);
-
gchar*
katze_xbel_item_to_data (KatzeXbelItem* item);
-gchar*
-katze_xbel_folder_to_data (KatzeXbelItem* folder,
- gsize* length,
- GError** error);
-
gboolean
katze_xbel_folder_to_file (KatzeXbelItem* folder,
const gchar* file,
}
}
-static void
-midori_browser_session_cb (MidoriBrowser* browser,
- gpointer arg1,
- KatzeXbelItem* session)
-{
- gchar* config_path;
- gchar* config_file;
- GError* error;
-
- config_path = g_build_filename (g_get_user_config_dir (),
- PACKAGE_NAME, NULL);
- g_mkdir_with_parents (config_path, 0755);
- config_file = g_build_filename (config_path, "session.xbel", NULL);
- error = NULL;
- if (!katze_xbel_folder_to_file (session, config_file, &error))
- {
- g_warning (_("The session couldn't be saved. %s"), error->message);
- g_error_free (error);
- }
-
- g_free (config_file);
- g_free (config_path);
-}
-
-static void
-midori_browser_weak_notify_cb (MidoriBrowser* browser,
- KatzeXbelItem* session)
-{
- g_object_disconnect (browser, "any-signal",
- G_CALLBACK (midori_browser_session_cb), session, NULL);
-}
-
static gchar*
_simple_xml_element (const gchar* name,
const gchar* value)
return TRUE;
}
+static void
+midori_browser_session_cb (MidoriBrowser* browser,
+ gpointer arg1,
+ KatzeArray* session)
+{
+ gchar* config_path;
+ gchar* config_file;
+ GError* error;
+
+ config_path = g_build_filename (g_get_user_config_dir (),
+ PACKAGE_NAME, NULL);
+ g_mkdir_with_parents (config_path, 0755);
+ config_file = g_build_filename (config_path, "session.xbel", NULL);
+ error = NULL;
+ if (!katze_array_to_file (session, config_file, &error))
+ {
+ g_warning (_("The session couldn't be saved. %s"), error->message);
+ g_error_free (error);
+ }
+
+ g_free (config_file);
+ g_free (config_path);
+}
+
+static void
+midori_browser_weak_notify_cb (MidoriBrowser* browser,
+ KatzeXbelItem* session)
+{
+ g_object_disconnect (browser, "any-signal",
+ G_CALLBACK (midori_browser_session_cb), session, NULL);
+}
+
int
main (int argc,
char** argv)
midori_app_add_browser (app, browser);
gtk_widget_show (GTK_WIDGET (browser));
- KatzeXbelItem* session = midori_browser_get_proxy_xbel_folder (browser);
+ KatzeArray* session = midori_browser_get_proxy_xbel_array (browser);
n = katze_xbel_folder_get_n_items (_session);
for (i = 0; i < n; i++)
{
GList* tab_titles;
GList* close_buttons;
- KatzeXbelItem* proxy_xbel_folder;
+ KatzeArray* proxy_xbel_array;
KatzeArray* trash;
KatzeArray* search_engines;
};
KatzeXbelItem* xbel_item;
const gchar* uri;
- if (browser->proxy_xbel_folder && MIDORI_IS_WEB_VIEW (widget))
+ if (browser->proxy_xbel_array && MIDORI_IS_WEB_VIEW (widget))
{
xbel_item = midori_web_view_get_proxy_xbel_item (
MIDORI_WEB_VIEW (widget));
uri = katze_xbel_bookmark_get_href (xbel_item);
if (browser->trash && uri && *uri)
katze_array_add_item (browser->trash, xbel_item);
- katze_xbel_folder_remove_item (browser->proxy_xbel_folder, xbel_item);
+ katze_array_remove_item (browser->proxy_xbel_array, xbel_item);
katze_xbel_item_unref (xbel_item);
}
tab_title = midori_web_view_get_proxy_tab_title (MIDORI_WEB_VIEW (widget));
menuitem = midori_web_view_get_proxy_menu_item (MIDORI_WEB_VIEW (widget));
- if (browser->proxy_xbel_folder)
+ if (browser->proxy_xbel_array)
{
xbel_item = midori_web_view_get_proxy_xbel_item (
MIDORI_WEB_VIEW (widget));
katze_xbel_item_ref (xbel_item);
- katze_xbel_folder_append_item (browser->proxy_xbel_folder, xbel_item);
+ katze_array_add_item (browser->proxy_xbel_array, xbel_item);
}
g_object_connect (widget,
gtk_image_new_from_pixbuf (icon));
g_object_unref (icon);
- if (browser->proxy_xbel_folder)
+ if (browser->proxy_xbel_array)
{
xbel_item = katze_xbel_bookmark_new ();
katze_xbel_item_set_title (xbel_item, title);
katze_xbel_bookmark_set_href (xbel_item,
_midori_browser_get_tab_uri (browser, widget));
- katze_xbel_folder_append_item (browser->proxy_xbel_folder,
- xbel_item);
+ katze_array_add_item (browser->proxy_xbel_array, xbel_item);
}
}
g_object_set_data (G_OBJECT (widget), "browser-tab-icon", tab_icon);
MidoriBrowser* browser = MIDORI_BROWSER (object);
/* We are done, the session mustn't change anymore */
- if (browser->proxy_xbel_folder)
- katze_object_assign (browser->proxy_xbel_folder, NULL);
+ if (browser->proxy_xbel_array)
+ katze_object_assign (browser->proxy_xbel_array, NULL);
G_OBJECT_CLASS (midori_browser_parent_class)->dispose (object);
}
}
/**
- * midori_browser_get_proxy_xbel_folder:
+ * midori_browser_get_proxy_xbel_array:
* @browser: a #MidoriBrowser
*
- * Retrieves a proxy xbel folder representing the respective proxy xbel items
+ * Retrieves a proxy xbel array representing the respective proxy xbel items
* of the present web views that can be used for session management.
*
* The folder is created on the first call and will be updated to reflect
* Note: Calling this function doesn't add a reference and the browser
* may release its reference at some point.
*
- * Return value: the proxy #KatzeXbelItem
+ * Return value: the proxy #KatzeArray
**/
-KatzeXbelItem*
-midori_browser_get_proxy_xbel_folder (MidoriBrowser* browser)
+KatzeArray*
+midori_browser_get_proxy_xbel_array (MidoriBrowser* browser)
{
g_return_val_if_fail (MIDORI_IS_BROWSER (browser), NULL);
- if (!browser->proxy_xbel_folder)
+ if (!browser->proxy_xbel_array)
{
- browser->proxy_xbel_folder = katze_xbel_folder_new ();
+ browser->proxy_xbel_array = katze_array_new (KATZE_TYPE_XBEL_ITEM);
/* FIXME: Fill in xbel items of all present web views */
}
- return browser->proxy_xbel_folder;
+ return browser->proxy_xbel_array;
}
/**
GtkWidget*
midori_browser_get_current_web_view (MidoriBrowser* browser);
-KatzeXbelItem*
-midori_browser_get_proxy_xbel_folder (MidoriBrowser* browser);
+KatzeArray*
+midori_browser_get_proxy_xbel_array (MidoriBrowser* browser);
void
midori_browser_quit (MidoriBrowser* browser);