?? html.c
字號:
#include <gtk/gtk.h>#include <stdio.h>#include <string.h>#include <stdlib.h>#include "custom.h"#include "main.h"#include "support.h"#include "misc.h"#define HTML_PREVIW_PAGE "preview.html"#define GIF_ANFY_LINK "ajbut1.gif"#define CHARSET_DEFAULT "iso-8859-1"// =========================================================#define _ttoi(s) strtol(s, NULL, 10)#define _tcstoul strtoul#define GetRValue(rgb) ((guint8)(rgb))#define GetGValue(rgb) ((guint8)(((guint16)(rgb)) >> 8))#define GetBValue(rgb) ((guint8)((rgb)>>16)) void restore_dialog_data (int usedefault);int validate_fields (GtkWidget *dlg);void save_dialog_data ();void file_browse (char* caption, char** filename);// =========================================================static char* mycat(char* a, char* b){ char* str; int l; if (a) l = strlen (a); else l = 0; l += strlen (b) + 1; str = g_malloc (l); strcpy (str, a); strcat (str, b); g_free (a); return str;}// =========================================================gboolean SetAppletProject(const int applet){ GtkWidget *entry; entry = lookup_widget (main_dlg, "applet_entry"); switch (applet) { case APPLET_BOOKFLIP: case APPLET_MOSAIC: case APPLET_ANFADE: gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (main_dlg, "cat_banner")), TRUE); gtk_entry_set_text (GTK_ENTRY (entry), applet_info[applet].name); return TRUE; case APPLET_FLOZOIDS: case APPLET_ANFRACT: case APPLET_MANDEL: case APPLET_LIFE2D: gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (main_dlg, "cat_fractals")), TRUE); gtk_entry_set_text (GTK_ENTRY (entry), applet_info[applet].name); return TRUE; case APPLET_ANFYBUMP: case APPLET_DEFORM: case APPLET_HUEROT: case APPLET_ANLAKE: case APPLET_ANLENS: case APPLET_WARP: case APPLET_ROTATE: case APPLET_ANWATER: case APPLET_WOBBLER: case APPLET_ANFYSNOW: case APPLET_FIREWORKS: gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (main_dlg, "cat_image")), TRUE); gtk_entry_set_text (GTK_ENTRY (entry), applet_info[applet].name); return TRUE; case APPLET_WORMHOLE: case APPLET_ANVOXEL: case APPLET_TUNNEL3D: case APPLET_ANTUNNEL: case APPLET_TMAPCUBE: case APPLET_FLUID: case APPLET_GALAXY: case APPLET_ANFY3D: gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (main_dlg, "cat_3d")), TRUE); gtk_entry_set_text (GTK_ENTRY (entry), applet_info[applet].name); return TRUE; case APPLET_CUBEMENU: case APPLET_WHEEL: case APPLET_MORPHMENU: case APPLET_TREEMENU: gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (main_dlg, "cat_navigation")), TRUE); gtk_entry_set_text (GTK_ENTRY (entry), applet_info[applet].name); return TRUE; case APPLET_ANBLUR: case APPLET_ANFLAG: case APPLET_BLOBS: case APPLET_FIRE: case APPLET_FLAGLOAD: case APPLET_PLASMA: case APPLET_TSCROLLER: case APPLET_ANFYCAM: case APPLET_ANFYPAINT: case APPLET_SOLIDSCROLLER: gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (lookup_widget (main_dlg, "cat_other")), TRUE); gtk_entry_set_text (GTK_ENTRY (entry), applet_info[applet].name); return TRUE; default: return FALSE; }}typedef struct _RegistryEntry{ char name[128]; guint32 type; char value[512]; guint32 valueSize; char filler[64];} RegistryEntry;#define PRJ_FILE_HEADER_14 "A J P 1 4"int OpenProjectOld(char* a_pstrPathName){ return -1; /* CString strPathName; strPathName = a_pstrPathName; CString strApplet; TCHAR szBuffer[MAX_LENGTH_INI_STR_VAR]; if( GetPrivateProfileSectionNames( szBuffer, MAX_LENGTH_INI_STR_VAR, strPathName) == (MAX_LENGTH_INI_STR_VAR - 2) ) return -1; else strApplet = szBuffer; if( strApplet.GetLength() == 0 ) return -1; if (current_dialog != DLG_STEP0) { //sto cercando i caricare un progetto di un applet diversa //da quella corrente if( m_strCurrentApplet != strApplet) return 0; } else { m_strCurrentApplet = szBuffer; } const nSize=32767; TCHAR szStr[nSize]; memset(szStr, (TCHAR)NULL, nSize); unsigned int ret = GetPrivateProfileSection( strApplet, szStr, nSize, strPathName ); if( ret == ( nSize - 2) ) return -1; CString strKeyPath(INI_REG_PATH_SETTING); strKeyPath+=_T("\\"); strKeyPath+=m_strCurrentApplet; HKEY hKey; RegistryEntry RegEntry; int iRet=1; if( RegOpenKeyEx(HKEY_CURRENT_USER, strKeyPath, 0, KEY_WRITE, &hKey) == ERROR_SUCCESS ) { int i=0; int i1; while( !(szStr[i] == '\0' && szStr[i+1] == '\0') ) { if( szStr[i] == '\0' ) i++; memset((LPVOID)&RegEntry, 0, sizeof RegistryEntry); for( i1=0; szStr[i]!='='; i++) { RegEntry.name[i1]=szStr[i]; i1++; } i++; for( i1=0; szStr[i]!='\0'; i++) { RegEntry.value[i1]=szStr[i]; i1++; } RegEntry.type=REG_SZ; RegEntry.valueSize=lstrlen((LPCTSTR)RegEntry.value); ////////////////////////////////////////////////// //questo e' una fix, per sistemare il fatto che nei progetti salvati //nella 1.3 nel treemenu c'e' un paramentro TexSize che e' a 84 //e che nella 1.3 non ha senso ma siccome nelle versioni successive viene //utilizzato da effetti non molto sgradevoli, per cui viene forzato a 11 ////////////////////////////////////////////////// if( m_strCurrentApplet==APPLET_TREEMENU && lstrcmp(RegEntry.name, INI_TEXT_SIZE) == 0 ) { _itot(11, (TCHAR*)RegEntry.value, 10); } ////////////////////////////////////////////////// if( RegSetValueEx(hKey ,RegEntry.name ,0 ,RegEntry.type ,LPBYTE(RegEntry.value) ,RegEntry.valueSize) != ERROR_SUCCESS ) { iRet=-1; break; } } RegCloseKey(hKey); } else iRet=-1; return iRet; */}// =========================================================char* TranslateMenuSettingInHTML(char* applet_name, char* applet_tag, char x, char y, char cParent){ char strCaption[256], strLine[256], strItem[256]; sprintf (strCaption, "%s%c%c", INI_MENU_TEXT_, x, y); GetSavedVar(applet_name, strCaption, strItem ); if (strlen (strItem) == 0) return applet_tag; sprintf (strLine, "<param name=\"MenuText%c%c\" value=\"%s\">\r\n",x, y, strItem); applet_tag = mycat (applet_tag, strLine); sprintf (strCaption, "%s%c%c",INI_MENU_URL_, x, y); GetSavedVar( applet_name, strCaption, strItem ); if (strlen (strItem) != 0) { sprintf (strLine, "<param name=\"MenuUrl%c%c\" value=\"%s\">\r\n", x, y, strItem); applet_tag = mycat (applet_tag, strLine); } sprintf (strCaption, "%s%c%c",INI_MENU_TARGET_, x, y); GetSavedVar( applet_name, strCaption, strItem ); if (strlen (strItem) != 0) { sprintf (strLine, "<param name=\"MenuTarget%c%c\" value=\"%s\">\r\n", x, y, strItem); applet_tag = mycat (applet_tag, strLine); } sprintf (strCaption, "%s%c%c",INI_MENU_LINK_, x, y); GetSavedVar( applet_name, strCaption, strItem ); if (strlen (strItem) != 0) { sprintf (strLine, "<param name=\"MenuLink%c%c\" value=\"%s\">\r\n", x, y, strItem); applet_tag = mycat (applet_tag, strLine); //se non e' un link all'indietro if( strItem[0] != cParent ) { applet_tag = TranslateMenuSettingInHTML(applet_name, applet_tag, strItem[0], '0', x); } } applet_tag = TranslateMenuSettingInHTML(applet_name, applet_tag, x, GetMenuLinkNext(applet_name, y), cParent); return applet_tag;}char* TranslateTreeMenuSettingInHTML(char* applet_name, char* applet_tag, guint32* pidMenu, guint32 idLevel, guint32 idParent){ char strCaption[256], strLine[256], strLevel[256], strText[256]; char strIconIndex[256], strLink[256], strUrl[256]; sprintf (strCaption, "%s%d",INI_MENU_LEVEL_, *pidMenu); GetSavedVar(applet_name, strCaption, strLevel ); if (idLevel != (guint32)_ttoi(strLevel)) { --(*pidMenu); return applet_tag; }
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -