static void test_predefined_paths() { FmPath* path; char* tmp; path = fm_path_new_for_uri("trash:///"); g_assert(path == fm_path_get_trash()); fm_path_unref(path); path = fm_path_new_for_uri("trash:///xxx"); g_assert(path->parent == fm_path_get_trash()); fm_path_unref(path); path = fm_path_new_for_uri("menu://"); g_assert(path == fm_path_get_apps_menu()); fm_path_unref(path); path = fm_path_new_for_uri("menu://applications"); g_assert(path == fm_path_get_apps_menu()); fm_path_unref(path); path = fm_path_new_for_uri("menu://applications/test/"); g_assert(path->parent == fm_path_get_apps_menu()); fm_path_unref(path); /* path = fm_path_new_for_path(g_get_home_dir()); g_assert(path == fm_path_get_home()); fm_path_unref(path); tmp = g_build_filename(g_get_home_dir(), "xxxx", "xx", NULL); path = fm_path_new_for_path(tmp); g_debug("path->name=%s", path->parent->parent->name); g_assert(path->parent->parent == fm_path_get_home()); fm_path_unref(path); g_free(tmp); path = fm_path_new_for_path(g_get_user_special_dir(G_USER_DIRECTORY_DESKTOP)); g_assert(path == fm_path_get_desktop()); fm_path_unref(path); tmp = g_build_filename(g_get_user_special_dir(G_USER_DIRECTORY_DESKTOP), "xxxx", "xx", NULL); path = fm_path_new_for_path(tmp); g_assert(path->parent->parent == fm_path_get_desktop()); fm_path_unref(path); g_free(tmp); */ }
FmPathList* pathListFromQUrls(QList<QUrl> urls) { QList<QUrl>::const_iterator it; FmPathList* pathList = fm_path_list_new(); for(it = urls.begin(); it != urls.end(); ++it) { QUrl url = *it; FmPath* path = fm_path_new_for_uri(url.toString().toUtf8()); fm_path_list_push_tail(pathList, path); fm_path_unref(path); } return pathList; }
/***************************************************************************************** * Create Direct Root Items... * * ****************************************************************************************/ void fm_dir_tree_model_load (FmDirTreeModel *dir_tree_model) { FmPath *path; FmFileInfo *file_info; FmDirTreeItem *dir_tree_item; // Desktop... path = fm_path_get_desktop (); file_info = fm_file_info_new_for_path (path); fm_file_info_query (file_info, NULL, NULL); fm_dir_tree_model_add_root (dir_tree_model, file_info, NULL, TRUE); /* Root FileSystem... path = fm_path_get_root (); file_info = fm_file_info_new_for_path (path); fm_file_info_query (file_info, NULL, NULL); fm_dir_tree_model_add_root (dir_tree_model, file_info, NULL, TRUE); */ // Settings... path = fm_path_new_for_uri ("menu://Applications/DesktopSettings"); file_info = fm_file_info_new_for_path (path); fm_file_info_query (file_info, NULL, NULL); fm_dir_tree_model_add_root (dir_tree_model, file_info, NULL, FALSE); fm_path_unref (path); // System... path = fm_path_new_for_uri ("menu://Applications/System"); file_info = fm_file_info_new_for_path (path); fm_file_info_query (file_info, NULL, NULL); fm_dir_tree_model_add_root (dir_tree_model, file_info, NULL, FALSE); fm_path_unref (path); // What's the purpose of weak pointers ??? :-P g_object_add_weak_pointer (dir_tree_model, &dir_tree_model); return; }
/** * fm_path_new_for_gfile * @gf: a GFile object * * This function converts a GFile object to FmPath. * * Returns: a newly created FmPath for the path. You have to call * fm_path_unref () when it's no longer needed. */ FmPath *fm_path_new_for_gfile (GFile *gf) { FmPath *path; char *str; if (g_file_is_native (gf)) { str = g_file_get_path (gf); path = fm_path_new_for_path (str); } else { str = g_file_get_uri (gf); path = fm_path_new_for_uri (str); } g_free (str); return path; }