summary refs log tree commit diff stats
path: root/src/gtk2-prefs/main.h
blob: 45e3b78687e3bd140f4e8df0ba901f0510eda80e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
/* GTK+ Preference Tool
 * Copyright (C) 2003-2005 Alex Shaduri.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

/***************************************************************************
                          main.cpp  -  description
                             -------------------
    begin                : Wed Jan  1 2003
    copyright            : (C) 2003 - 2005 by Alex Shaduri
    email                : ashaduri '@' gmail.com
 ***************************************************************************/

#ifndef _MAIN_H_
#define _MAIN_H_


#include <string>


std::string& get_orig_theme();
std::string& get_orig_font();

std::string get_current_theme();
std::string get_current_font();

std::string get_selected_theme();
std::string get_selected_font();

void set_theme(const std::string& theme_name, const std::string& font);
void apply_theme(const std::string& theme_name, const std::string& font);
bool save_current_theme();

void program_shutdown();


#endif
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN * THE SOFTWARE. */ #include <stdio.h> #include <stdlib.h> #include <malloc.h> #include "../../config.h" char * comma () { # if 0 /* for WDK version numbers */ int major, minor; char *version_string; /* nnnn,n,n,n format */ version_string = (char*) malloc (11); if (sscanf (PACKAGE_VERSION, "%d-%d", &major, &minor) > 1) { sprintf (version_string, "%d,%d,0,0", major, minor); } else { sprintf (version_string, "%d,0,0,0", major); } #endif int major, minor, build; char *version_string; /* n,n,n,n format */ version_string = (char*) malloc (8); sscanf (PACKAGE_VERSION, "%d.%d.%d", &major, &minor, &build); sprintf (version_string, "%d,%d,%d,0", major, minor, build); return version_string; } char * point () { int major1, major2, major3, major4, minor; char *version_string; /* nn.nn.nn.nn format */ version_string = (char*) malloc (12); if (sscanf (PACKAGE_VERSION, "%c%c%c%c-%d", &major1, &major2, &major3, &major4, &minor) > 4) { sprintf (version_string, "%c%c.%c%c.%d.0", major1, major2, major3, major4, minor); } else { sprintf (version_string, "%c%c.%c%c.0.0", major1, major2, major3, major4); } return version_string; } int main (int argc, char *argv[]) { if (argc > 1) { if (!strcmp (argv[1], "-r")) /* hexchat.rc/FILEVERSION, PRODUCTVERSION */ { printf ("#define COMMA_VERSION %s\n", comma ()); } else if (!strcmp (argv[1], "-a")) /* hexchat.iss/AppVerName */ { #ifdef _WIN64 printf ("AppVerName=HexChat %s (x64)\n", PACKAGE_VERSION); #else printf ("AppVerName=HexChat %s (x86)\n", PACKAGE_VERSION); #endif } else if (!strcmp (argv[1], "-v")) /* hexchat.iss/AppVersion */ { /* printf ("AppVersion=%s\n", point ()); this was required only for nnnn[-n] version numbers */ printf ("AppVersion=%s\n", PACKAGE_VERSION); } else if (!strcmp (argv[1], "-i")) /* hexchat.iss/VersionInfoVersion */ { /* printf ("VersionInfoVersion=%s\n", point ()); this was required only for nnnn[-n] version numbers */ printf ("VersionInfoVersion=%s\n", PACKAGE_VERSION); } else if (!strcmp (argv[1], "-o")) /* hexchat.iss/OutputBaseFilename */ { #ifdef _WIN64 printf ("OutputBaseFilename=HexChat %s x64\n", PACKAGE_VERSION); #else printf ("OutputBaseFilename=HexChat %s x86\n", PACKAGE_VERSION); #endif } else if (!strcmp (argv[1], "-v")) /* version.txt */ { printf ("%s", PACKAGE_VERSION); } else { printf ("usage:\n\t-a\thexchat.iss/AppVerName\n\t-i\thexchat.iss/VersionInfoVersion\n\t-o\thexchat.iss/OutputBaseFilename\n\t-r\thexchat.rc/FILEVERSION, PRODUCTVERSION\n\t-v\thexchat.iss/AppVersion\n"); } } else { printf ("usage:\n\t-a\thexchat.iss/AppVerName\n\t-i\thexchat.iss/VersionInfoVersion\n\t-o\thexchat.iss/OutputBaseFilename\n\t-r\thexchat.rc/FILEVERSION, PRODUCTVERSION\n\t-v\thexchat.iss/AppVersion\n"); } #if 0 /* ugly hack */ switch ((int) argv[1][0]) { case 'r': /* hexchat.rc/FILEVERSION, PRODUCTVERSION*/ printf ("#define COMMA_VERSION \"%s\"\n", comma ()); break; case 'a': /* hexchat.iss/AppVerName */ printf ("AppVerName=HexChat %s\n", PACKAGE_VERSION); break; case 'v': /* hexchat.iss/AppVersion */ printf ("AppVersion=%s\n", point ()); break; case 'i': /* hexchat.iss/VersionInfoVersion */ printf ("VersionInfoVersion=%s\n", point ()); break; case 'o': /* hexchat.iss/OutputBaseFilename */ printf ("OutputBaseFilename=HexChat %s\n", PACKAGE_VERSION); break; case 'u': /* version.txt */ printf ("%s", PACKAGE_VERSION); break; default: printf ("use a, i, o, r or v.\n"); break; } #endif return 0; }