?? restore.c
字號:
#include <gtk/gtk.h>#include <string.h>#include <stdlib.h>#include <stdio.h>#include "main.h"#include "custom.h"#include "support.h"#include "callback.h"#include "misc.h"#define GetRValue(rgb) ((guint8)(rgb))#define GetGValue(rgb) ((guint8)(((guint16)(rgb)) >> 8))#define GetBValue(rgb) ((guint8)((rgb)>>16)) #define _ttoi(s) strtol(s, NULL, 10)#define MAX_SCROLLTEXT_SIZE 32767int GeneratePreviewFile (const int applet, int bForPublish);// =========================================================char* GenerateHtmlAppletTag (int applet);#define READ_INT(n, i) { \ GetSavedVar(ini_section, n, strtmp); \ i = strtol(strtmp, NULL, 10); }#define READ_UL(n, i) { \ GetSavedVar(ini_section, n, strtmp); \ i = strtoul(strtmp, NULL, 16); }#define READ_ENTRY(n, w) { \ GetSavedVar(ini_section, n, strtmp); \ gtk_entry_set_text (GTK_ENTRY (lookup_widget (main_dlg, w)), strtmp); }#define READ_ENTRY_INT(n, w, i) { \ GetSavedVar(ini_section, n, strtmp); \ gtk_entry_set_text (GTK_ENTRY (lookup_widget (main_dlg, w)), strtmp); \ i = strtol(strtmp, NULL, 10); }#define READ_CHECK(n, w) { \ widget = lookup_widget (main_dlg, w); \ GetSavedVar (ini_section, n, strtmp); \ if (strcmp (strtmp, INI_NO) == 0) \ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); \ else \ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); }// =========================================================GdkPixmap *folder0_pixmap, *folder1_pixmap, *item_pixmap;GdkBitmap *folder0_mask, *folder1_mask, *item_mask;#define PACKAGE_DATA_DIR "/usr/local/share/anfy"void create_tree_pixmaps (){ GtkStyle *style; style = gtk_widget_get_style (main_dlg); if (folder0_pixmap == NULL) { folder0_pixmap = gdk_pixmap_create_from_xpm (main_dlg->window, &folder0_mask, &style->bg[GTK_STATE_NORMAL], PACKAGE_DATA_DIR "/pixmaps/folder0.xpm"); } if (folder1_pixmap == NULL) { folder1_pixmap = gdk_pixmap_create_from_xpm (main_dlg->window, &folder1_mask, &style->bg[GTK_STATE_NORMAL], PACKAGE_DATA_DIR "/pixmaps/folder1.xpm"); } if (item_pixmap == NULL) { item_pixmap = gdk_pixmap_create_from_xpm (main_dlg->window, &item_mask, &style->bg[GTK_STATE_NORMAL], PACKAGE_DATA_DIR "/pixmaps/tree_ite.xpm"); }}void RestoreTreeCtrl (char* strINISection, GtkCTree* ptc, GtkCTreeNode* item, char x, char y, char* pcLink, char cParent){ char strCaption[256], strLabel[256], strItem[256], *row[2] = { NULL, NULL }; GtkCTreeNode* newItem; ITEM_DATA* pItemData; gboolean bBack=FALSE; create_tree_pixmaps (); sprintf (strCaption, "%s%c%c", INI_MENU_TEXT_, x, y); GetSavedVar(strINISection, strCaption, strItem ); if (strlen (strItem) == 0) return; strcpy (strLabel, strItem); row[0] = strLabel; newItem = gtk_ctree_insert_node (ptc, item, NULL, row, 5, item_pixmap, item_mask, item_pixmap, item_mask, TRUE, FALSE); sprintf (strCaption, "%s%c%c", INI_MENU_URL_, x, y); GetSavedVar(strINISection, strCaption, strItem ); pItemData = malloc (sizeof (ITEM_DATA)); if (pItemData != NULL) { strcpy (pItemData->strURL, strItem); sprintf (strCaption, "%s%c%c",INI_MENU_TARGET_, x, y); GetSavedVar(strINISection, strCaption, strItem ); if (strlen (strItem) != 0) pItemData->bNewFrame =TRUE; else pItemData->bNewFrame =FALSE; strcpy (pItemData->strNewFrameName, strItem); pItemData->bBack = bBack; pItemData->bDisableDropAfter=FALSE; gtk_ctree_node_set_row_data (ptc, newItem, pItemData); } sprintf (strCaption, "%s%c%c", INI_MENU_LINK_, x, y); GetSavedVar(strINISection, strCaption, strItem ); if (strlen (strItem) != 0) { //e' un link all'indietro if (strItem[0] == cParent) { if( pItemData != NULL ) { pItemData->bBack = TRUE; gtk_ctree_node_set_row_data (ptc, newItem, pItemData); } } else { gtk_ctree_set_node_info (ptc, newItem, strLabel, 5, folder0_pixmap, folder0_mask, folder1_pixmap, folder1_mask, FALSE, FALSE); *pcLink = strItem[0]; RestoreTreeCtrl(strINISection, ptc, newItem, *pcLink, '0', pcLink, x); sprintf (strCaption, "%s%c%c",INI_MENU_STATE, x, y); GetSavedVar(strINISection, strCaption, strItem ); if (strcmp (strItem, "1") == 0) gtk_ctree_expand (ptc, newItem); } } RestoreTreeCtrl(strINISection, ptc, item, x, GetMenuLinkNext(applet_info[current_applet].name, y), pcLink, cParent);}void RestoreTreeMenu(char* strINISection, GtkCTree* ptc, GtkCTreeNode* item, guint32* pidMenu, guint32 idLevel){ char strCaption[256], strItem[256], *row[2] = { NULL, NULL }; GtkCTreeNode* newItem; ITEM_DATA* pItemData; guint32 idMenuSave; create_tree_pixmaps (); sprintf (strCaption, "%s%d",INI_MENU_LEVEL_, *pidMenu); GetSavedVar(strINISection, strCaption, strItem); if( idLevel != (guint32)_ttoi(strItem) ) { --(*pidMenu); return; } sprintf (strCaption, "%s%d", INI_MENU_TEXT_, *pidMenu); GetSavedVar(strINISection, strCaption, strItem ); if (strlen (strItem) == 0) { --(*pidMenu); return; } row[0] = strItem; newItem =gtk_ctree_insert_node (ptc, item, NULL, row, 5, folder0_pixmap, folder0_mask, folder1_pixmap, folder1_mask, FALSE, FALSE); pItemData = malloc (sizeof (ITEM_DATA)); if (pItemData != NULL) { sprintf (strCaption, "%s%d", INI_MENU_ICON_, *pidMenu); GetSavedVar(strINISection, strCaption, strItem ); if (strlen (strItem) == 0) pItemData->iIconIndex = -1; else pItemData->iIconIndex = _ttoi(strItem); sprintf (strCaption, "%s%d", INI_MENU_URL_, *pidMenu); GetSavedVar(strINISection, strCaption, strItem ); strcpy (pItemData->strURL, strItem); pItemData->bBack=FALSE; pItemData->bNewFrame=FALSE; if( idLevel==0 ) pItemData->bDisableDropAfter=TRUE; else pItemData->bDisableDropAfter=FALSE; strcpy (pItemData->strNewFrameName, ""); gtk_ctree_node_set_row_data (ptc, newItem, pItemData); } idMenuSave=*pidMenu; sprintf (strCaption, "%s%d", INI_MENU_LINK_, *pidMenu); GetSavedVar(strINISection, strCaption, strItem ); if (strlen (strItem) != 0) { /* ptc->SetItemImage( newItem, TV_IMG_FOLDER_CLOSE, TV_IMG_FOLDER_CLOSE); */ *pidMenu=(guint32)_ttoi(strItem); RestoreTreeMenu(strINISection, ptc, newItem, pidMenu , idLevel+1); } sprintf (strCaption, "%s%d", INI_MENU_STATE, idMenuSave); GetSavedVar(strINISection, strCaption, strItem ); if (strcmp (strItem, "1") == 0) { gtk_ctree_expand (ptc, newItem); } ++(*pidMenu); RestoreTreeMenu(strINISection, ptc, item, pidMenu, idLevel );}// =========================================================void restore_dialog_data (int usedefault){ char strtmp[1024], ini_section[64], section[64], tmp[8], *row[2] = { NULL, NULL }; GtkWidget* widget; IMAGE_INFO* info; int index; if (current_applet != -1) { strcpy (ini_section, applet_info[current_applet].name); if (usedefault) strcat (ini_section, INI_SECTION_DEFAULT); } /* CComboBox* pcbo; CString strIndex; CString strImage; CString strIniValue; m_bRestoreData=TRUE; */ switch (current_dialog) { case DLG_STEP0: GetSavedVar(INI_APP_SECTION, INI_LAST_APPLET_CATEGORY, strtmp); if (strcmp (strtmp, "1") == 0) widget = lookup_widget (main_dlg, "cat_banner"); else if (strcmp (strtmp, "2") == 0) widget = lookup_widget (main_dlg, "cat_fractals"); else if (strcmp (strtmp, "3") == 0) widget = lookup_widget (main_dlg, "cat_image"); else if (strcmp (strtmp, "4") == 0) widget = lookup_widget (main_dlg, "cat_3d"); else if (strcmp (strtmp, "5") == 0) widget = lookup_widget (main_dlg, "cat_navigation"); else widget = lookup_widget (main_dlg, "cat_other"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); GetSavedVar(INI_APP_SECTION, INI_LAST_APPLET_CONFIGURED, strtmp); widget = lookup_widget (main_dlg, "applet_entry"); gtk_entry_set_text (GTK_ENTRY (widget), strtmp); break; case DLG_TEXTSTYLE: READ_ENTRY (INI_TEXTMODE, "text_type_entry"); /* OnSelchangeTexttype(); */ { char pszScrollText[MAX_SCROLLTEXT_SIZE]; widget = lookup_widget (main_dlg, "text"); if (ReadWriteFileScrollText(current_applet, pszScrollText, 0)) { gtk_text_insert (GTK_TEXT (widget), NULL, NULL, NULL, pszScrollText, strlen(pszScrollText)); gtk_adjustment_set_value (GTK_TEXT(widget)->vadj, 0); } else gtk_text_insert (GTK_TEXT (widget), NULL, NULL, NULL, "", 0); } READ_ENTRY (INI_TEXTVSPACE, "v_spac"); READ_ENTRY (INI_TEXTSPEED, "speed"); READ_ENTRY (INI_TEXTOFFSET, "y_offset"); READ_ENTRY (INI_TEXTSINANGLE, "sine_angle"); READ_ENTRY (INI_TEXTSINEAMPL, "sine_amplitude"); READ_ENTRY (INI_TEXTSINSPEED, "sine_speed"); READ_ENTRY (INI_TEXTJUMPAMP, "jump_amplitude"); READ_ENTRY (INI_TEXTJUMPSPEED, "jump_speed"); READ_CHECK (INI_TEXTSHADOW, "shadow"); /* OnChkShadow(); */ READ_INT (INI_TEXT_COLORRED, dlg_textcolor_red); READ_INT (INI_TEXT_COLORGREEN, dlg_textcolor_green); READ_INT (INI_TEXT_COLORBLU, dlg_textcolor_blue); // READ_CHECK (INI_STANDARD_FONT, "standard"); /* OnChkStdFont(); */ READ_ENTRY (INI_TEXT_FONT, "font_entry"); READ_ENTRY (INI_TEXT_SIZE, "size_entry"); READ_ENTRY (INI_TEXT_SIZE_MIN, "min_entry"); READ_ENTRY (INI_TEXT_SIZE_MAX, "max_entry"); READ_CHECK (INI_TEXT_ITALIC, "italic"); READ_CHECK (INI_TEXT_BOLD, "bold"); READ_INT (INI_TEXTS_COLORRED, dlg_textscolor_red); READ_INT (INI_TEXTS_COLORGREEN, dlg_textscolor_green); READ_INT (INI_TEXTS_COLORBLU, dlg_textscolor_blue); /* UpdatePreviewScrollText(); */ break; case DLG_STEP1: { char* tag; tag = GenerateHtmlAppletTag(current_applet); gtk_text_insert (GTK_TEXT (lookup_widget (main_dlg, "code")), NULL, NULL, NULL, tag, strlen(tag)); g_free(tag); GeneratePreviewFile(current_applet, 0); } break; case DLG_EXPERTMODE: READ_ENTRY (INI_EX_MEMDELAY, "memory"); READ_ENTRY (INI_EX_TASK_PRIORITY, "task"); READ_ENTRY (INI_EX_MINSYNC, "minsync"); widget = lookup_widget (main_dlg, "netscape"); GetSavedVar(ini_section, INI_FIXNETSCAPE, strtmp); if (strcmp (strtmp, INI_YES) == 0) gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); else gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); if ((current_applet == APPLET_CUBEMENU) || (current_applet == APPLET_ANFADE) || (current_applet == APPLET_BOOKFLIP) || (current_applet == APPLET_MOSAIC) || (current_applet == APPLET_WHEEL) || (current_applet == APPLET_MORPHMENU) || (current_applet == APPLET_TREEMENU)) { widget = lookup_widget (main_dlg, "statusbar"); gtk_entry_set_text (GTK_ENTRY (widget), ""); gtk_widget_set_sensitive (widget, FALSE); } else READ_ENTRY (INI_STATUSMSG, "statusbar"); READ_ENTRY (INI_NOJAVAMSG, "nojava"); GetSavedVar(ini_section, INI_OVERIMG, strtmp); if (strcmp (strtmp, INI_NO) == 0) { widget = lookup_widget (main_dlg, "image"); gtk_entry_set_text (GTK_ENTRY (widget), ""); widget = lookup_widget (main_dlg, "enable_image"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), FALSE); } else { READ_ENTRY (INI_OVERIMG, "image"); widget = lookup_widget (main_dlg, "enable_image"); gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (widget), TRUE); } READ_ENTRY (INI_OVERIMGX, "xoffset"); READ_ENTRY (INI_OVERIMGY, "yoffset"); break; /* case DLG_REGCODE: */ case DLG_REGISTRATION:
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -