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
ONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION 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;
}
|