SET(PREFIX "/usr/apps/${PACKAGE_NAME}")
SET(EXEC_PREFIX "${PREFIX}/bin")
SET(LIBDIR "${PREFIX}/lib")
-SET(DATADIR "/opt${PREFIX}/data")
+SET(DATADIR "${PREFIX}/res/data")
SET(RESDIR "${PREFIX}/res")
-SET(ICONDIR "/usr/share/icons/default/small")
+SET(ICONDIR "${PREFIX}/shared/res")
SET(IMAGEDIR "${RESDIR}/images")
SET(EDJEDIR "${RESDIR}/edje")
SET(LOCALEDIR "${RESDIR}/locale")
SET(MANIFESTDIR "/usr/share/packages")
# manifest
-CONFIGURE_FILE(${PACKAGE_NAME}.xml.in ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}.xml)
-INSTALL(FILES ${CMAKE_BINARY_DIR}/${PACKAGE_NAME}.xml DESTINATION ${MANIFESTDIR})
-
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/main_operation.launch DESTINATION ${RESDIR}/data)
-INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/${PACKAGE_NAME}.png DESTINATION /usr/share/icons/default/small)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/main_operation.launch DESTINATION /usr/apps/org.tizen.menu-screen/res/data)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.tizen.menu-screen.xml DESTINATION /usr/share/packages)
+INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/icons/${PACKAGE_NAME}.png DESTINATION /usr/apps/org.tizen.menu-screen/shared/res)
ADD_SUBDIRECTORY(edje)
ADD_SUBDIRECTORY(images)
BuildRequires: cmake
BuildRequires: edje-tools
BuildRequires: gettext-tools
+BuildRequires: pkgconfig(libtzplatform-config)
# %ifarch %{arm}
# %define ARCH arm
# BuildRequires: pkgconfig(bincfg)
%define tizen_author_sign 1
%define tizen_dist_sign 1
-mkdir -p %{buildroot}%{_datadir}
mkdir -p %{buildroot}/usr/share/license
-cp -f LICENSE %{buildroot}/usr/share/license/%{name}
%post
PRIVATE_OPTION="-s org.tizen.menu-screen"
-if [ ! -d %{_datadir}/dbspace ]
-then
- mkdir -p %{_datadir}/dbspace
-fi
-
-if [ ! -d %{_datadir}/shortcut ]
-then
- mkdir -p %{_datadir}/shortcut
-else
- rm -rf %{_datadir}/shortcut/*
-fi
-
-sqlite3 %{_datadir}/dbspace/.menu_screen.db 'PRAGMA journal_mode = PERSIST;
- create table if not exists shortcut (
- ROWID INTEGER PRIMARY KEY AUTOINCREMENT,
- appid TEXT,
- name TEXT,
- type INTEGER,
- content_info TEXT,
- icon TEXT
- );
-'
-
INHOUSE_ID="5000"
-chown -R $INHOUSE_ID:$INHOUSE_ID %{_datadir}
-chown root:$INHOUSE_ID %{_datadir}/dbspace/.menu_screen.db
-chown root:$INHOUSE_ID %{_datadir}/dbspace/.menu_screen.db-journal
-
-chmod 660 %{_datadir}/dbspace/.menu_screen.db
-chmod 660 %{_datadir}/dbspace/.menu_screen.db-journal
%files
%manifest %{name}.manifest
%defattr(-,root,root,-)
-%{_bindir}/menu-screen
-%{_resdir}/edje/all_apps_portrait.edj
-%{_resdir}/edje/button_edit.edj
-%{_resdir}/edje/group_4x4_portrait.edj
-%{_resdir}/edje/item_4x4.edj
-%{_resdir}/edje/layout_portrait.edj
-%{_resdir}/edje/index.edj
-%{_resdir}/images/default.png
-%{_resdir}/data/main_operation.launch
-%{_localedir}/*/*/*.mo
-%{_usr_datadir}/icons/default/small/org.tizen.menu-screen.png
-%{_usr_datadir}/packages/org.tizen.menu-screen.xml
-/usr/share/license/%{name}
-#%{_packagedir}/*.xml
+%{TZ_SYS_RO_APP}/org.tizen.menu-screen/bin/*
+%{TZ_SYS_RO_APP}/org.tizen.menu-screen/res/edje/*
+%{TZ_SYS_RO_APP}/org.tizen.menu-screen/res/images/*
+%{TZ_SYS_RO_APP}/org.tizen.menu-screen/res/data/main_operation.launch
+%{TZ_SYS_RO_APP}/org.tizen.menu-screen/res/locale/*
+%{TZ_SYS_RO_APP}/org.tizen.menu-screen/shared/res/org.tizen.menu-screen.png
+#%{TZ_SYS_RO_PACKAGES}/org.tizen.menu-screen.xml
+/usr/share/packages/org.tizen.menu-screen.xml
#define QUERY_LEN 1024
-#define MENU_SCREEN_DB_FILE "/opt/usr/apps/org.tizen.menu-screen/data/dbspace/.menu_screen.db"
+#define MENU_SCREEN_DB_FILE ".menu_screen.db"
#define SHORTCUT_TABLE "shortcut"
#define QUERY_INSERT_SHORTCUT "INSERT INTO "SHORTCUT_TABLE" ("\
"appid,"\
} \
} while (0)
+#define CREATE_APPS_DB_TABLE "CREATE TABLE IF NOT EXISTS shortcut (\
+ ROWID INTEGER PRIMARY KEY AUTOINCREMENT,\
+ appid TEXT,\
+ name TEXT,\
+ type INTEGER,\
+ content_info TEXT,\
+ icon TEXT );"
+
static struct {
HAPI menu_screen_error_e db_open(const char *db_file)
{
+ _D("db open");
int ret;
+ char *errMsg;
+ char *res_path = NULL;
+ char db_file_path[1024];
+
+ res_path = app_get_data_path();
+ snprintf(db_file_path, sizeof(db_file_path), "%s%s", res_path, db_file);
retv_if(NULL == db_file, MENU_SCREEN_ERROR_INVALID_PARAMETER);
if (db_info.db) {
+ _D("db is already exist");
return MENU_SCREEN_ERROR_OK;
}
- ret = db_util_open(db_file, &db_info.db, DB_UTIL_REGISTER_HOOK_METHOD);
- retv_with_dbmsg_if(ret != SQLITE_OK, MENU_SCREEN_ERROR_FAIL);
+ FILE *fp = fopen(db_file_path, "r");
+ if (fp) {
+ fclose(fp);
+ _D("Apps DB[%s] exist", db_file_path);
+ return MENU_SCREEN_ERROR_OK;
+ }
+
+ ret = sqlite3_open(db_file_path, &db_info.db);
+ if (ret != SQLITE_OK) {
+ _E("SQL error(%d) : %s", ret, db_file_path);
+ }
+
+ ret = sqlite3_exec(db_info.db, "PRAGMA journal_mode = PERSIST", NULL, NULL, &errMsg);
+ if (ret != SQLITE_OK) {
+ _E("SQL error(%d) : %s", ret, errMsg);
+ sqlite3_free(errMsg);
+ return MENU_SCREEN_ERROR_FAIL;
+ }
+
+ ret = sqlite3_exec(db_info.db, CREATE_APPS_DB_TABLE, NULL, NULL, &errMsg);
+ if (ret != SQLITE_OK) {
+ _E("SQL error(%d) : %s", ret, errMsg);
+ sqlite3_free(errMsg);
+ return MENU_SCREEN_ERROR_FAIL;
+ }
+ _D("Create DB[%s] : [%s] OK", db_file, CREATE_APPS_DB_TABLE);
return MENU_SCREEN_ERROR_OK;
}
#define BUFSZE 1024
#define PAGE_SCROLL_SENSITIVE 0.2
#define PROP_PORTRAIT_HEIGHT (PAGE_PORTRAIT_HEIGHT / BASE_HEIGHT)
+#define MAIN_OPERATION_FILE "/usr/apps/org.tizen.menu-screen/res/data/main_operation.launch"
static int _create_main_operation_list(Evas_Object *scroller)
{
FILE *fp;
- const char *filename = RESDIR"/data/main_operation.launch";
char *line = NULL;
size_t size = 0;
ssize_t read;
char *data = NULL;
Eina_List *main_operation_list = NULL;
- fp = fopen(filename, "r");
+ fp = fopen(MAIN_OPERATION_FILE, "r");
if (!fp) {
_D("cannot open fp");
return 0;