mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
Imported eabout, a small program that displays current EDE version, authors, contibutors, etc.
Added ProgramBare rule in Program.jam so there could be built plain (command-line) programs and so they could be installed where other EDE programs resides. New etip on FLTK1 code. Also, instead hardcoded tips, etip now uses fortune-like files for tips. Ah yes, it is able to read fortune files too :)
This commit is contained in:
88
etip/Fortune.cpp
Normal file
88
etip/Fortune.cpp
Normal file
@@ -0,0 +1,88 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Etip, show some tips!
|
||||
* Part of Equinox Desktop Environment (EDE).
|
||||
* Copyright (c) 2008 EDE Authors.
|
||||
*
|
||||
* This program is licensed under the terms of the
|
||||
* GNU General Public License version 2 or newer.
|
||||
* See COPYING for the details.
|
||||
*/
|
||||
|
||||
#include "Fortune.h"
|
||||
#include <netinet/in.h>
|
||||
#include <ctype.h>
|
||||
|
||||
FortuneFile* fortune_open(const char* str_path, const char* dat_path) {
|
||||
FILE* sp = fopen(str_path, "r");
|
||||
if(!sp)
|
||||
return NULL;
|
||||
|
||||
FILE* dp = fopen(dat_path, "r");
|
||||
if(!dp) {
|
||||
fclose(sp);
|
||||
return NULL;
|
||||
}
|
||||
|
||||
FortuneFile* f = new FortuneFile;
|
||||
f->str_file = sp;
|
||||
f->dat_file = dp;
|
||||
|
||||
fread((char*)&f->data, sizeof(StrFile), 1, f->dat_file);
|
||||
f->data.str_version = ntohl(f->data.str_version);
|
||||
f->data.str_numstr = ntohl(f->data.str_numstr);
|
||||
f->data.str_longlen = ntohl(f->data.str_longlen);
|
||||
f->data.str_shortlen = ntohl(f->data.str_shortlen);
|
||||
f->data.str_flags = ntohl(f->data.str_flags);
|
||||
|
||||
return f;
|
||||
}
|
||||
|
||||
void fortune_close(FortuneFile* f) {
|
||||
fclose(f->str_file);
|
||||
fclose(f->dat_file);
|
||||
|
||||
delete f;
|
||||
}
|
||||
|
||||
unsigned int fortune_num_items(FortuneFile* f) {
|
||||
return f->data.str_numstr;
|
||||
}
|
||||
|
||||
bool fortune_get(FortuneFile* f, unsigned int num, edelib::String& ret) {
|
||||
if(num >= fortune_num_items(f))
|
||||
return false;
|
||||
|
||||
// read position from .dat file
|
||||
off_t seek_pts[2];
|
||||
|
||||
fseek(f->dat_file, (long)(sizeof(StrFile) + num * sizeof(seek_pts[0])), 0);
|
||||
fread(seek_pts, sizeof(seek_pts), 1, f->dat_file);
|
||||
seek_pts[0] = ntohl(seek_pts[0]);
|
||||
seek_pts[1] = ntohl(seek_pts[1]);
|
||||
|
||||
// now jump to that position in string file
|
||||
fseek(f->str_file, (long)seek_pts[0], 0);
|
||||
|
||||
char buff[1024];
|
||||
char* p;
|
||||
char ch;
|
||||
|
||||
ret.clear();
|
||||
|
||||
while(fgets((char*)buff, sizeof(buff), f->str_file) != NULL && !STR_ENDSTRING(buff, f->data)) {
|
||||
if(f->data.str_flags & STR_ROTATED) {
|
||||
for(p = buff; (ch = *p); p++) {
|
||||
if(isupper(ch))
|
||||
*p = 'A' + (ch - 'A' + 13) % 26;
|
||||
else if(islower(ch))
|
||||
*p = 'a' + (ch - 'a' + 13) % 26;
|
||||
}
|
||||
}
|
||||
|
||||
ret += buff;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
56
etip/Fortune.h
Normal file
56
etip/Fortune.h
Normal file
@@ -0,0 +1,56 @@
|
||||
/*
|
||||
* $Id$
|
||||
*
|
||||
* Etip, show some tips!
|
||||
* Part of Equinox Desktop Environment (EDE).
|
||||
* Copyright (c) 2008 EDE Authors.
|
||||
*
|
||||
* This program is licensed under the terms of the
|
||||
* GNU General Public License version 2 or newer.
|
||||
* See COPYING for the details.
|
||||
*/
|
||||
|
||||
#ifndef __FORTUNE_H__
|
||||
#define __FORTUNE_H__
|
||||
|
||||
#include <stdio.h>
|
||||
#include <edelib/String.h>
|
||||
|
||||
/*
|
||||
* This is a reader for fortune plain and their corresponding binary .dat files.
|
||||
* Based on code from Amy A. Lewis since I was too lazy to search format specs
|
||||
* around the net.
|
||||
*/
|
||||
|
||||
#define DAT_VERSION 2 // we know only for this
|
||||
|
||||
#define STR_ENDSTRING(line, tbl) ((line)[0] == tbl.stuff[0] && (line)[1] == '\n')
|
||||
#define STR_ROTATED 0x3 // rot-13'd text
|
||||
|
||||
struct StrFile {
|
||||
unsigned int str_version; // version number
|
||||
unsigned int str_numstr; // number of strings in the file
|
||||
unsigned int str_longlen; // length of the longest string
|
||||
unsigned int str_shortlen; // length of the shortest string
|
||||
unsigned int str_flags; // bit field for flags
|
||||
char stuff[4]; // long aligned space, stuff[0] is delimiter
|
||||
};
|
||||
|
||||
struct FortuneFile {
|
||||
FILE* str_file;
|
||||
FILE* dat_file;
|
||||
StrFile data;
|
||||
};
|
||||
|
||||
// TODO: this should be a class
|
||||
|
||||
FortuneFile* fortune_open(const char* str_path, const char* dat_path);
|
||||
void fortune_close(FortuneFile* f);
|
||||
|
||||
// returns a number of known strings
|
||||
unsigned int fortune_num_items(FortuneFile* f);
|
||||
|
||||
// gets strings at num; first is at 0 and last at fortune_num_items() - 1
|
||||
bool fortune_get(FortuneFile* f, unsigned int num, edelib::String& ret);
|
||||
|
||||
#endif
|
||||
30
etip/Jamfile
30
etip/Jamfile
@@ -10,5 +10,31 @@
|
||||
|
||||
SubDir TOP etip ;
|
||||
|
||||
MakeProgram etip : etip.cpp ;
|
||||
ExtractStrings locale : etip.cpp ;
|
||||
SOURCE = Fortune.cpp etip.cpp ;
|
||||
|
||||
EdeProgram etip : $(SOURCE) ;
|
||||
TranslationStrings locale : $(SOURCE) ;
|
||||
EdeManual doc/etip.txt : doc/etip.jpg ;
|
||||
|
||||
ProgramBare etip-compiler : etip-compiler.c ;
|
||||
|
||||
# this rule is for compiling fortune files
|
||||
rule FortuneCompile
|
||||
{
|
||||
Depends $(<) : etip-compiler ;
|
||||
Depends $(<) : $(>) ;
|
||||
Depends all : $(<) ;
|
||||
|
||||
SEARCH on $(>) = $(SUBDIR) ;
|
||||
MakeLocate $(<) : $(SUBDIR) ;
|
||||
|
||||
FortuneCompile1 $(<) : $(>) ;
|
||||
Clean clean : $(<) ;
|
||||
}
|
||||
|
||||
actions FortuneCompile1
|
||||
{
|
||||
$(TOP)/etip/etip-compiler "$(>)" "$(<)"
|
||||
}
|
||||
|
||||
FortuneCompile tips/ede.dat : tips/ede ;
|
||||
|
||||
BIN
etip/doc/etip.jpg
Normal file
BIN
etip/doc/etip.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 24 KiB |
8
etip/doc/etip.txt
Normal file
8
etip/doc/etip.txt
Normal file
@@ -0,0 +1,8 @@
|
||||
Etip documentation
|
||||
===================
|
||||
|
||||
Etip is 'Tip of the Day' program which will show tips about EDE usage.
|
||||
It is also capable to show forutune-like tips, reading forutune files.
|
||||
|
||||
image:images/etip.jpg[Etip]
|
||||
|
||||
564
etip/etip-compiler.c
Normal file
564
etip/etip-compiler.c
Normal file
@@ -0,0 +1,564 @@
|
||||
/* $NetBSD: strfile.c,v 1.3 1995/03/23 08:28:47 cgd Exp $ */
|
||||
|
||||
/*-
|
||||
* Copyright (c) 1989, 1993
|
||||
* The Regents of the University of California. All rights reserved.
|
||||
*
|
||||
* This code is derived from software contributed to Berkeley by
|
||||
* Ken Arnold.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
* 1. Redistributions of source code must retain the above copyright
|
||||
* notice, this list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright
|
||||
* notice, this list of conditions and the following disclaimer in the
|
||||
* documentation and/or other materials provided with the distribution.
|
||||
* 3. All advertising materials mentioning features or use of this software
|
||||
* must display the following acknowledgement:
|
||||
* This product includes software developed by the University of
|
||||
* California, Berkeley and its contributors.
|
||||
* 4. Neither the name of the University nor the names of its contributors
|
||||
* may be used to endorse or promote products derived from this software
|
||||
* without specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
/*
|
||||
* Changes, September 1995, to make the damn thing actually sort instead
|
||||
* of just pretending. Amy A. Lewis
|
||||
*
|
||||
* And lots more.
|
||||
*
|
||||
* Fixed the special cases of %^J% (an empty fortune), no 'separator' at
|
||||
* the end of the file, and a trailing newline at the end of the file, all
|
||||
* of which produced total ballsup at one point or another.
|
||||
*
|
||||
* This included adding a routine to go back and write over the last pointer
|
||||
* written or stored, for the case of an empty fortune.
|
||||
*
|
||||
* unstr also had to be modified (well, for *lots* of reasons, but this was
|
||||
* one) to be certain to put the delimiters in the right places.
|
||||
*/
|
||||
|
||||
/*
|
||||
*
|
||||
#ifndef lint
|
||||
static char copyright[] =
|
||||
"@(#) Copyright (c) 1989, 1993\n\
|
||||
The Regents of the University of California. All rights reserved.\n";
|
||||
#endif / * not lint * /
|
||||
|
||||
#ifndef lint
|
||||
#if 0
|
||||
static char sccsid[] = "@(#)strfile.c 8.1 (Berkeley) 5/31/93";
|
||||
#else
|
||||
static char rcsid[] = "$NetBSD: strfile.c,v 1.3 1995/03/23 08:28:47 cgd Exp $";
|
||||
#endif
|
||||
#endif / * not lint * /
|
||||
*
|
||||
*I haven't the faintest flipping idea what all that is, so kill the warnings
|
||||
*/
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <unistd.h>
|
||||
#include <netinet/in.h>
|
||||
#include <sys/param.h>
|
||||
#include <stdio.h>
|
||||
#include <ctype.h>
|
||||
#include <string.h>
|
||||
|
||||
#ifndef MAXPATHLEN
|
||||
#define MAXPATHLEN 1024
|
||||
#endif /* MAXPATHLEN */
|
||||
|
||||
#define STR_ENDSTRING(line,tbl) \
|
||||
((line)[0] == (tbl).str_delim && (line)[1] == '\n')
|
||||
|
||||
typedef struct { /* information table */
|
||||
#define VERSION 2
|
||||
u_int32_t str_version; /* version number */
|
||||
u_int32_t str_numstr; /* # of strings in the file */
|
||||
u_int32_t str_longlen; /* length of longest string */
|
||||
u_int32_t str_shortlen; /* length of shortest string */
|
||||
#define STR_RANDOM 0x1 /* randomized pointers */
|
||||
#define STR_ORDERED 0x2 /* ordered pointers */
|
||||
#define STR_ROTATED 0x4 /* rot-13'd text */
|
||||
u_int32_t str_flags; /* bit field for flags */
|
||||
u_int8_t stuff[4]; /* long aligned space */
|
||||
#define str_delim stuff[0] /* delimiting character */
|
||||
} STRFILE;
|
||||
|
||||
/*
|
||||
* This program takes a file composed of strings seperated by
|
||||
* lines containing only the delimiting character (the default
|
||||
* character is '%') and creates another file which consists of a table
|
||||
* describing the file (structure from "strfile.h"), a table of seek
|
||||
* pointers to the start of the strings, and the strings, each terminated
|
||||
* by a null byte. Usage:
|
||||
*
|
||||
* % strfile [-iorsx] [ -cC ] sourcefile [ datafile ]
|
||||
*
|
||||
* c - Change delimiting character from '%' to 'C'
|
||||
* s - Silent. Give no summary of data processed at the end of
|
||||
* the run.
|
||||
* o - order the strings in alphabetic order
|
||||
* i - if ordering, ignore case
|
||||
* r - randomize the order of the strings
|
||||
* x - set rotated bit
|
||||
*
|
||||
* Ken Arnold Sept. 7, 1978 --
|
||||
*
|
||||
* Added ordering options.
|
||||
*
|
||||
* Made ordering options do more than set the bloody flag, September 95 A. Lewis
|
||||
*
|
||||
* Always make sure that your loop control variables aren't set to bloody
|
||||
* *zero* before distributing the bloody code, all right?
|
||||
*
|
||||
*/
|
||||
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
#define STORING_PTRS (Oflag || Rflag)
|
||||
#define CHUNKSIZE 512
|
||||
|
||||
#define ALWAYS 1
|
||||
#define ALLOC(ptr,sz) if (ALWAYS) { \
|
||||
if (ptr == NULL) \
|
||||
ptr = malloc((unsigned int) (CHUNKSIZE * sizeof *ptr)); \
|
||||
else if (((sz) + 1) % CHUNKSIZE == 0) \
|
||||
ptr = realloc((void *) ptr, ((unsigned int) ((sz) + CHUNKSIZE) * sizeof *ptr)); \
|
||||
if (ptr == NULL) { \
|
||||
fprintf(stderr, "out of space\n"); \
|
||||
exit(1); \
|
||||
} \
|
||||
}
|
||||
|
||||
typedef struct
|
||||
{
|
||||
char first;
|
||||
int32_t pos;
|
||||
}
|
||||
STR;
|
||||
|
||||
char *Infile = NULL, /* input file name */
|
||||
Outfile[MAXPATHLEN] = "", /* output file name */
|
||||
Delimch = '%'; /* delimiting character */
|
||||
|
||||
int Sflag = FALSE; /* silent run flag */
|
||||
int Oflag = FALSE; /* ordering flag */
|
||||
int Iflag = FALSE; /* ignore case flag */
|
||||
int Rflag = FALSE; /* randomize order flag */
|
||||
int Xflag = FALSE; /* set rotated bit */
|
||||
long Num_pts = 0; /* number of pointers/strings */
|
||||
|
||||
int32_t *Seekpts;
|
||||
|
||||
FILE *Sort_1, *Sort_2; /* pointers for sorting */
|
||||
|
||||
STRFILE Tbl; /* statistics table */
|
||||
|
||||
STR *Firstch; /* first chars of each string */
|
||||
|
||||
void usage(void)
|
||||
{
|
||||
fprintf(stderr, "etip-compiler [-iorsx] [-c char] sourcefile [datafile]\n");
|
||||
fprintf(stderr, "Creates .dat file from fortune source file\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
/*
|
||||
* This routine evaluates arguments from the command line
|
||||
*/
|
||||
void getargs(int argc, char **argv)
|
||||
{
|
||||
extern char *optarg;
|
||||
extern int optind;
|
||||
int ch;
|
||||
|
||||
while ((ch = getopt(argc, argv, "c:iorsx")) != EOF)
|
||||
switch (ch)
|
||||
{
|
||||
case 'c': /* new delimiting char */
|
||||
Delimch = *optarg;
|
||||
if (!isascii(Delimch))
|
||||
{
|
||||
printf("bad delimiting character: '\\%o\n'",
|
||||
Delimch);
|
||||
}
|
||||
break;
|
||||
case 'i': /* ignore case in ordering */
|
||||
Iflag++;
|
||||
break;
|
||||
case 'o': /* order strings */
|
||||
Oflag++;
|
||||
break;
|
||||
case 'r': /* randomize pointers */
|
||||
Rflag++;
|
||||
break;
|
||||
case 's': /* silent */
|
||||
Sflag++;
|
||||
break;
|
||||
case 'x': /* set the rotated bit */
|
||||
Xflag++;
|
||||
break;
|
||||
case '?':
|
||||
default:
|
||||
usage();
|
||||
}
|
||||
argv += optind;
|
||||
|
||||
if (*argv)
|
||||
{
|
||||
Infile = *argv;
|
||||
if (*++argv)
|
||||
(void) strcpy(Outfile, *argv);
|
||||
}
|
||||
if (!Infile)
|
||||
{
|
||||
puts("No input file name");
|
||||
usage();
|
||||
}
|
||||
if (*Outfile == '\0')
|
||||
{
|
||||
strcpy(Outfile, Infile);
|
||||
strcat(Outfile, ".dat");
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* add_offset:
|
||||
* Add an offset to the list, or write it out, as appropriate.
|
||||
*/
|
||||
void add_offset(FILE * fp, int32_t off)
|
||||
{
|
||||
int32_t net;
|
||||
|
||||
if (!STORING_PTRS)
|
||||
{
|
||||
net = htonl(off);
|
||||
fwrite(&net, 1, sizeof net, fp);
|
||||
}
|
||||
else
|
||||
{
|
||||
ALLOC(Seekpts, Num_pts + 1);
|
||||
Seekpts[Num_pts] = off;
|
||||
}
|
||||
Num_pts++;
|
||||
}
|
||||
|
||||
/*
|
||||
* fix_last_offset:
|
||||
* Used when we have two separators in a row.
|
||||
*/
|
||||
void fix_last_offset(FILE * fp, int32_t off)
|
||||
{
|
||||
int32_t net;
|
||||
|
||||
if (!STORING_PTRS)
|
||||
{
|
||||
net = htonl(off);
|
||||
fseek(fp, -(sizeof net), SEEK_CUR);
|
||||
fwrite(&net, 1, sizeof net, fp);
|
||||
}
|
||||
else
|
||||
Seekpts[Num_pts - 1] = off;
|
||||
}
|
||||
|
||||
/*
|
||||
* cmp_str:
|
||||
* Compare two strings in the file
|
||||
*/
|
||||
int cmp_str(const void *v1, const void *v2)
|
||||
{
|
||||
register int c1, c2;
|
||||
register int n1, n2;
|
||||
register STR *p1, *p2;
|
||||
|
||||
#define SET_N(nf,ch) (nf = (ch == '\n'))
|
||||
#define IS_END(ch,nf) (ch == Delimch && nf)
|
||||
|
||||
p1 = (STR *) v1;
|
||||
p2 = (STR *) v2;
|
||||
c1 = p1->first;
|
||||
c2 = p2->first;
|
||||
if (c1 != c2)
|
||||
return c1 - c2;
|
||||
|
||||
fseek(Sort_1, p1->pos, 0);
|
||||
fseek(Sort_2, p2->pos, 0);
|
||||
|
||||
n1 = FALSE;
|
||||
n2 = FALSE;
|
||||
while (!isalnum(c1 = getc(Sort_1)) && c1 != '\0')
|
||||
SET_N(n1, c1);
|
||||
while (!isalnum(c2 = getc(Sort_2)) && c2 != '\0')
|
||||
SET_N(n2, c2);
|
||||
|
||||
while (!IS_END(c1, n1) && !IS_END(c2, n2))
|
||||
{
|
||||
if (Iflag)
|
||||
{
|
||||
if (isupper(c1))
|
||||
c1 = tolower(c1);
|
||||
if (isupper(c2))
|
||||
c2 = tolower(c2);
|
||||
}
|
||||
if (c1 != c2)
|
||||
return c1 - c2;
|
||||
SET_N(n1, c1);
|
||||
SET_N(n2, c2);
|
||||
c1 = getc(Sort_1);
|
||||
c2 = getc(Sort_2);
|
||||
}
|
||||
if (IS_END(c1, n1))
|
||||
c1 = 0;
|
||||
if (IS_END(c2, n2))
|
||||
c2 = 0;
|
||||
return c1 - c2;
|
||||
}
|
||||
|
||||
/*
|
||||
* do_order:
|
||||
* Order the strings alphabetically (possibly ignoring case).
|
||||
*/
|
||||
void
|
||||
do_order(void)
|
||||
{
|
||||
register long i;
|
||||
register int32_t *lp;
|
||||
register STR *fp;
|
||||
|
||||
Sort_1 = fopen(Infile, "r");
|
||||
Sort_2 = fopen(Infile, "r");
|
||||
qsort((char *) Firstch, (int) Num_pts - 1, sizeof *Firstch, cmp_str);
|
||||
/* i = Tbl.str_numstr;
|
||||
* Fucking brilliant. Tbl.str_numstr was initialized to zero, and is still zero
|
||||
*/
|
||||
i = Num_pts - 1;
|
||||
lp = Seekpts;
|
||||
fp = Firstch;
|
||||
while (i--)
|
||||
*lp++ = fp++->pos;
|
||||
fclose(Sort_1);
|
||||
fclose(Sort_2);
|
||||
Tbl.str_flags |= STR_ORDERED;
|
||||
}
|
||||
|
||||
char *
|
||||
unctrl(char c)
|
||||
{
|
||||
static char buf[3];
|
||||
|
||||
if (isprint(c))
|
||||
{
|
||||
buf[0] = c;
|
||||
buf[1] = '\0';
|
||||
}
|
||||
else if (c == 0177)
|
||||
{
|
||||
buf[0] = '^';
|
||||
buf[1] = '?';
|
||||
}
|
||||
else
|
||||
{
|
||||
buf[0] = '^';
|
||||
buf[1] = c + 'A' - 1;
|
||||
}
|
||||
return buf;
|
||||
}
|
||||
|
||||
/*
|
||||
* randomize:
|
||||
* Randomize the order of the string table. We must be careful
|
||||
* not to randomize across delimiter boundaries. All
|
||||
* randomization is done within each block.
|
||||
*/
|
||||
void randomize(void)
|
||||
{
|
||||
register int cnt, i;
|
||||
register int32_t tmp;
|
||||
register int32_t *sp;
|
||||
extern time_t time(time_t *);
|
||||
|
||||
srandom((int) (time((time_t *) NULL) + getpid()));
|
||||
|
||||
Tbl.str_flags |= STR_RANDOM;
|
||||
/* cnt = Tbl.str_numstr;
|
||||
* See comment above. Isn't this stuff distributed worldwide? How embarrassing!
|
||||
*/
|
||||
cnt = Num_pts;
|
||||
|
||||
/*
|
||||
* move things around randomly
|
||||
*/
|
||||
|
||||
for (sp = Seekpts; cnt > 0; cnt--, sp++)
|
||||
{
|
||||
i = random() % cnt;
|
||||
tmp = sp[0];
|
||||
sp[0] = sp[i];
|
||||
sp[i] = tmp;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* main:
|
||||
* Drive the sucker. There are two main modes -- either we store
|
||||
* the seek pointers, if the table is to be sorted or randomized,
|
||||
* or we write the pointer directly to the file, if we are to stay
|
||||
* in file order. If the former, we allocate and re-allocate in
|
||||
* CHUNKSIZE blocks; if the latter, we just write each pointer,
|
||||
* and then seek back to the beginning to write in the table.
|
||||
*/
|
||||
int main(int ac, char **av)
|
||||
{
|
||||
register unsigned char *sp;
|
||||
register FILE *inf, *outf;
|
||||
register int32_t last_off, length, pos, *p;
|
||||
register int first, cnt;
|
||||
register char *nsp;
|
||||
register STR *fp;
|
||||
static char string[257];
|
||||
|
||||
getargs(ac, av); /* evalute arguments */
|
||||
if ((inf = fopen(Infile, "r")) == NULL)
|
||||
{
|
||||
perror(Infile);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
if ((outf = fopen(Outfile, "w")) == NULL)
|
||||
{
|
||||
perror(Outfile);
|
||||
exit(1);
|
||||
}
|
||||
if (!STORING_PTRS)
|
||||
(void) fseek(outf, sizeof Tbl, 0);
|
||||
|
||||
/*
|
||||
* Write the strings onto the file
|
||||
*/
|
||||
|
||||
Tbl.str_longlen = 0;
|
||||
Tbl.str_shortlen = (unsigned int) 0xffffffff;
|
||||
Tbl.str_delim = Delimch;
|
||||
Tbl.str_version = VERSION;
|
||||
first = Oflag;
|
||||
add_offset(outf, ftell(inf));
|
||||
last_off = 0;
|
||||
do
|
||||
{
|
||||
sp = fgets(string, 256, inf);
|
||||
if (sp == NULL || STR_ENDSTRING(sp, Tbl))
|
||||
{
|
||||
pos = ftell(inf);
|
||||
length = pos - last_off - (sp ? strlen(sp) : 0);
|
||||
if (!length)
|
||||
/* Here's where we go back and fix things, if the
|
||||
* 'fortune' just read was the null string.
|
||||
* We had to make the assignment of last_off slightly
|
||||
* redundant to achieve this.
|
||||
*/
|
||||
{
|
||||
if (pos - last_off == 2)
|
||||
fix_last_offset(outf, pos);
|
||||
last_off = pos;
|
||||
continue;
|
||||
}
|
||||
last_off = pos;
|
||||
add_offset(outf, pos);
|
||||
if (Tbl.str_longlen < length)
|
||||
Tbl.str_longlen = length;
|
||||
if (Tbl.str_shortlen > length)
|
||||
Tbl.str_shortlen = length;
|
||||
first = Oflag;
|
||||
}
|
||||
else if (first)
|
||||
{
|
||||
for (nsp = sp; !isalnum(*nsp); nsp++)
|
||||
continue;
|
||||
ALLOC(Firstch, Num_pts);
|
||||
fp = &Firstch[Num_pts - 1];
|
||||
if (Iflag && isupper(*nsp))
|
||||
fp->first = tolower(*nsp);
|
||||
else
|
||||
fp->first = *nsp;
|
||||
fp->pos = Seekpts[Num_pts - 1];
|
||||
first = FALSE;
|
||||
}
|
||||
}
|
||||
while (sp != NULL);
|
||||
|
||||
/*
|
||||
* write the tables in
|
||||
*/
|
||||
|
||||
fclose(inf);
|
||||
|
||||
if (Oflag)
|
||||
do_order();
|
||||
else if (Rflag)
|
||||
randomize();
|
||||
|
||||
if (Xflag)
|
||||
Tbl.str_flags |= STR_ROTATED;
|
||||
|
||||
if (!Sflag)
|
||||
{
|
||||
printf("\"%s\" created\n", Outfile);
|
||||
if (Num_pts == 1)
|
||||
puts("There was no string");
|
||||
else
|
||||
{
|
||||
if (Num_pts == 2)
|
||||
puts("There was 1 string");
|
||||
else
|
||||
printf("There were %ld strings\n", Num_pts - 1);
|
||||
printf("Longest string: %lu byte%s\n", Tbl.str_longlen,
|
||||
Tbl.str_longlen == 1 ? "" : "s");
|
||||
printf("Shortest string: %lu byte%s\n", Tbl.str_shortlen,
|
||||
Tbl.str_shortlen == 1 ? "" : "s");
|
||||
}
|
||||
}
|
||||
|
||||
fseek(outf, (off_t) 0, 0);
|
||||
Tbl.str_version = htonl(Tbl.str_version);
|
||||
Tbl.str_numstr = htonl(Num_pts - 1);
|
||||
/* Look, Ma! After using the variable three times, let's store
|
||||
* something in it!
|
||||
*/
|
||||
Tbl.str_longlen = htonl(Tbl.str_longlen);
|
||||
Tbl.str_shortlen = htonl(Tbl.str_shortlen);
|
||||
Tbl.str_flags = htonl(Tbl.str_flags);
|
||||
fwrite(&Tbl.str_version, sizeof Tbl.str_version, 1, outf);
|
||||
fwrite(&Tbl.str_numstr, sizeof Tbl.str_numstr, 1, outf);
|
||||
fwrite(&Tbl.str_longlen, sizeof Tbl.str_longlen, 1, outf);
|
||||
fwrite(&Tbl.str_shortlen, sizeof Tbl.str_shortlen, 1, outf);
|
||||
fwrite(&Tbl.str_flags, sizeof Tbl.str_flags, 1, outf);
|
||||
fwrite( Tbl.stuff, sizeof Tbl.stuff, 1, outf);
|
||||
if (STORING_PTRS)
|
||||
{
|
||||
for (p = Seekpts, cnt = Num_pts; cnt--; ++p)
|
||||
{
|
||||
*p = htonl(*p);
|
||||
fwrite(p, sizeof *p, 1, outf);
|
||||
}
|
||||
}
|
||||
fclose(outf);
|
||||
exit(0);
|
||||
}
|
||||
2
etip/etip.conf
Normal file
2
etip/etip.conf
Normal file
@@ -0,0 +1,2 @@
|
||||
[etip]
|
||||
Path = tips/ede
|
||||
233
etip/etip.cpp
233
etip/etip.cpp
@@ -1,136 +1,185 @@
|
||||
/*
|
||||
* $Id: etip.cpp 1664 2006-06-14 00:21:44Z karijes $
|
||||
*
|
||||
* Etip, show some tips!
|
||||
* Part of Equinox Desktop Environment (EDE).
|
||||
* Copyright (c) 2000-2006 EDE Authors.
|
||||
* Copyright (c) 2008 EDE Authors.
|
||||
*
|
||||
* This program is licenced under terms of the
|
||||
* GNU General Public Licence version 2 or newer.
|
||||
* See COPYING for details.
|
||||
* This program is licensed under the terms of the
|
||||
* GNU General Public License version 2 or newer.
|
||||
* See COPYING for the details.
|
||||
*/
|
||||
|
||||
#include <fltk/Window.h>
|
||||
#include <fltk/Button.h>
|
||||
#include <fltk/CheckButton.h>
|
||||
#include <fltk/InvisibleBox.h>
|
||||
#include <fltk/xpmImage.h>
|
||||
#include <fltk/run.h>
|
||||
#include <FL/Fl.h>
|
||||
#include <FL/Fl_Window.h>
|
||||
#include <FL/Fl_Check_Button.h>
|
||||
#include <FL/Fl_Button.h>
|
||||
#include <FL/Fl_Group.h>
|
||||
#include <FL/Fl_Box.h>
|
||||
#include <FL/Fl_Pixmap.h>
|
||||
|
||||
#include <edelib/Nls.h>
|
||||
#include <edelib/Config.h>
|
||||
#include <edelib/File.h>
|
||||
#include <edelib/StrUtil.h>
|
||||
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include <stdio.h>
|
||||
|
||||
#include "icons/hint.xpm"
|
||||
#include "Fortune.h"
|
||||
|
||||
// TODO: should be replaced with NLS from edelib
|
||||
#define _(s) s
|
||||
static Fl_Pixmap image_hint(hint_xpm);
|
||||
|
||||
#define TIPS_NUM 7
|
||||
#define TITLE_TIPS_NUM 9
|
||||
Fl_Window* win;
|
||||
Fl_Check_Button* check_button;
|
||||
Fl_Box* title_box;
|
||||
Fl_Box* tip_box;
|
||||
int curr_tip = 0;
|
||||
|
||||
using namespace fltk;
|
||||
FortuneFile* ffile = 0;
|
||||
edelib::String fstring;
|
||||
|
||||
unsigned int curr_tip = 0;
|
||||
const char* tiplist[TIPS_NUM] =
|
||||
{
|
||||
_("To start any application is simple. Press on the button with your user name, go\
|
||||
to the Programs menu, select category and click on the wished program."),
|
||||
|
||||
_("To exit the EDE, press button with your user name and then Logout."),
|
||||
|
||||
_("To lock the computer, press button with your user name and then choose Lock."),
|
||||
|
||||
_("To setup things on the computer, press button with your user name, Panel menu and then the Control panel."),
|
||||
|
||||
_("To add a program that is not in the Programs menu, click on the button with your user,\
|
||||
Panel menu, and then Menu editor."),
|
||||
|
||||
_("Notice that this is still development version, so please send your bug reports or\
|
||||
comments on EDE forum, EDE bug reporting system (on project's page), or check mails of current\
|
||||
maintainers located in AUTHORS file."),
|
||||
|
||||
_("You can download latest release on http://sourceforge.net/projects/ede.")
|
||||
#define TITLE_TIPS_NUM 4
|
||||
const char* title_tips[TITLE_TIPS_NUM] = {
|
||||
_("Did you know ?"),
|
||||
_("Tip of the Day"),
|
||||
_("A tip..."),
|
||||
_("Boring \"Did you know ?\"")
|
||||
};
|
||||
|
||||
const char* title_tips[TITLE_TIPS_NUM] =
|
||||
{
|
||||
_("Boring \"Did you know...\""),
|
||||
_("How about this..."),
|
||||
_("Smart idea..."),
|
||||
_("Really smart idea..."),
|
||||
_("Really really smart idea..."),
|
||||
_("Uf..."),
|
||||
_("Something new..."),
|
||||
_("Or maybe this..."),
|
||||
_("...")
|
||||
};
|
||||
void preformat_tip(edelib::String& str) {
|
||||
unsigned int sz = str.length();
|
||||
unsigned int j;
|
||||
|
||||
const char* random_txt(const char** lst, unsigned int max)
|
||||
{
|
||||
for(unsigned int i = 0; i < sz; i++) {
|
||||
if(str[i] == '\n') {
|
||||
j = i;
|
||||
j++;
|
||||
if(j < sz && str[j] != '\n')
|
||||
str[i] = ' ';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const char* random_title(const char** lst, unsigned int max) {
|
||||
unsigned int val = rand() % max;
|
||||
curr_tip = val;
|
||||
return lst[val];
|
||||
}
|
||||
|
||||
void close_cb(Widget*, void* w)
|
||||
{
|
||||
Window* win = (Window*)w;
|
||||
const char* random_fortune(void) {
|
||||
unsigned int val = rand() % (fortune_num_items(ffile) - 1);
|
||||
curr_tip = val;
|
||||
fortune_get(ffile, val, fstring);
|
||||
return fstring.c_str();
|
||||
}
|
||||
|
||||
void close_cb(Fl_Widget*, void*) {
|
||||
win->hide();
|
||||
}
|
||||
|
||||
void next_cb(Widget*, void* tb)
|
||||
{
|
||||
InvisibleBox* tipbox = (InvisibleBox*)tb;
|
||||
void next_cb(Fl_Widget*, void*) {
|
||||
if(!ffile)
|
||||
return;
|
||||
|
||||
curr_tip++;
|
||||
if(curr_tip >= TIPS_NUM)
|
||||
if(curr_tip >= (int)fortune_num_items(ffile))
|
||||
curr_tip = 0;
|
||||
tipbox->label(tiplist[curr_tip]);
|
||||
tipbox->redraw_label();
|
||||
|
||||
fortune_get(ffile, curr_tip, fstring);
|
||||
//preformat_tip(fstring);
|
||||
tip_box->label(fstring.c_str());
|
||||
}
|
||||
|
||||
void prev_cb(Widget*, void* tb)
|
||||
{
|
||||
InvisibleBox* tipbox = (InvisibleBox*)tb;
|
||||
if(curr_tip == 0)
|
||||
curr_tip = TIPS_NUM - 1;
|
||||
else
|
||||
void prev_cb(Fl_Widget*, void*) {
|
||||
if(!ffile)
|
||||
return;
|
||||
|
||||
curr_tip--;
|
||||
if(curr_tip < 0) {
|
||||
curr_tip = fortune_num_items(ffile);
|
||||
curr_tip--;
|
||||
tipbox->label(tiplist[curr_tip]);
|
||||
tipbox->redraw_label();
|
||||
}
|
||||
|
||||
fortune_get(ffile, curr_tip, fstring);
|
||||
tip_box->label(fstring.c_str());
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
srand(time(NULL));
|
||||
FortuneFile* load_fortune_file(void) {
|
||||
edelib::Config conf;
|
||||
if(!conf.load("etip.conf"))
|
||||
return NULL;
|
||||
|
||||
Window* win = new Window(460, 200, _("Tips..."));
|
||||
char path[1024];
|
||||
if(!conf.get("etip", "Path", path, sizeof(path)))
|
||||
return NULL;
|
||||
|
||||
// check if file exists and at the same place we have .dat file
|
||||
if(!edelib::file_exists(path))
|
||||
return NULL;
|
||||
|
||||
edelib::String dat = path;
|
||||
dat += ".dat";
|
||||
|
||||
if(!edelib::file_exists(dat.c_str()))
|
||||
return NULL;
|
||||
|
||||
return fortune_open(path, dat.c_str());
|
||||
}
|
||||
|
||||
int main(int argc, char **argv) {
|
||||
ffile = load_fortune_file();
|
||||
|
||||
// initialize random number only if we loaded tips
|
||||
if(ffile)
|
||||
srand(time(0));
|
||||
|
||||
win = new Fl_Window(535, 260, _("EDE Tips"));
|
||||
win->begin();
|
||||
Fl_Group* main_group = new Fl_Group(10, 10, 515, 205);
|
||||
main_group->box(FL_DOWN_BOX);
|
||||
main_group->color(FL_BACKGROUND2_COLOR);
|
||||
main_group->begin();
|
||||
Fl_Box* image_box = new Fl_Box(11, 13, 121, 201);
|
||||
image_box->image(image_hint);
|
||||
|
||||
InvisibleBox* img = new InvisibleBox(10, 10, 70, 65);
|
||||
xpmImage pix(hint_xpm);
|
||||
img->image(pix);
|
||||
img->box(FLAT_BOX);
|
||||
title_box = new Fl_Box(155, 23, 355, 25, random_title(title_tips, TITLE_TIPS_NUM));
|
||||
title_box->labelfont(FL_HELVETICA_BOLD);
|
||||
title_box->align(196|FL_ALIGN_INSIDE);
|
||||
|
||||
InvisibleBox* title = new InvisibleBox(85, 15, 365, 25, random_txt(title_tips, TITLE_TIPS_NUM));
|
||||
title->box(fltk::FLAT_BOX);
|
||||
title->labelfont(fltk::HELVETICA_BOLD);
|
||||
title->align(fltk::ALIGN_LEFT|fltk::ALIGN_INSIDE);
|
||||
tip_box = new Fl_Box(155, 60, 355, 140);
|
||||
tip_box->align(197|FL_ALIGN_INSIDE);
|
||||
|
||||
InvisibleBox* tiptxt = new InvisibleBox(85, 45, 365, 110, random_txt(tiplist, TIPS_NUM));
|
||||
tiptxt->box(fltk::FLAT_BOX);
|
||||
tiptxt->align(fltk::ALIGN_TOP|fltk::ALIGN_LEFT|fltk::ALIGN_INSIDE|fltk::ALIGN_WRAP);
|
||||
if(!ffile)
|
||||
tip_box->label(_("I'm unable to correctly load tip files. Please check what went wrong"));
|
||||
else
|
||||
tip_box->label(random_fortune());
|
||||
|
||||
new fltk::CheckButton(10, 165, 155, 25, _("Do not bother me"));
|
||||
main_group->end();
|
||||
|
||||
Button* prev = new Button(170, 165, 90, 25, _("@< Previous"));
|
||||
prev->callback(prev_cb, tiptxt);
|
||||
Button* next = new Button(265, 165, 90, 25, _("Next @>"));
|
||||
next->callback(next_cb, tiptxt);
|
||||
check_button = new Fl_Check_Button(10, 224, 225, 25, _("Show tips on startup"));
|
||||
check_button->down_box(FL_DOWN_BOX);
|
||||
|
||||
Fl_Button* prev_button = new Fl_Button(240, 224, 90, 25, _("&Previous"));
|
||||
prev_button->callback(prev_cb);
|
||||
|
||||
Fl_Button* next_button = new Fl_Button(335, 224, 90, 25, _("&Next"));
|
||||
next_button->callback(next_cb);
|
||||
|
||||
Fl_Button* close_button = new Fl_Button(435, 224, 90, 25, _("&Close"));
|
||||
close_button->callback(close_cb);
|
||||
|
||||
// check_button somehow steal focus
|
||||
close_button->take_focus();
|
||||
|
||||
Button* close = new Button(360, 165, 90, 25, _("&Close"));
|
||||
close->callback(close_cb, win);
|
||||
win->end();
|
||||
win->show(argc, argv);
|
||||
|
||||
win->set_modal();
|
||||
win->show();
|
||||
return run();
|
||||
Fl::run();
|
||||
|
||||
if(ffile)
|
||||
fortune_close(ffile);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
42
etip/etip.fl
42
etip/etip.fl
@@ -1,42 +0,0 @@
|
||||
# data file for the FLTK User Interface Designer (FLUID)
|
||||
version 2.1000
|
||||
header_name {.h}
|
||||
code_name {.cxx}
|
||||
gridx 5
|
||||
gridy 5
|
||||
snap 3
|
||||
Function {} {open
|
||||
} {
|
||||
{fltk::Window} {} {open
|
||||
xywh {446 296 460 200} resizable visible
|
||||
} {
|
||||
{fltk::InvisibleBox} {} {
|
||||
xywh {10 10 70 65} box FLAT_BOX
|
||||
image {icons/hint.xpm}
|
||||
}
|
||||
{fltk::InvisibleBox} {} {
|
||||
label {Did you know}
|
||||
xywh {85 15 365 25} align 36 box FLAT_BOX labelfont 1
|
||||
}
|
||||
{fltk::InvisibleBox} {} {
|
||||
label {To start any application is simple. Press on the button with your user name, go to the Programs menu, select category and click on the wished program.}
|
||||
xywh {85 45 365 110} align 165 box FLAT_BOX
|
||||
}
|
||||
{fltk::CheckButton} {} {
|
||||
label {Do not bother me}
|
||||
xywh {10 165 155 25}
|
||||
}
|
||||
{fltk::Button} {} {
|
||||
label {@< Previous}
|
||||
xywh {170 165 90 25}
|
||||
}
|
||||
{fltk::Button} {} {
|
||||
label {Next @>} selected
|
||||
xywh {265 165 90 25}
|
||||
}
|
||||
{fltk::Button} {} {
|
||||
label {&Close}
|
||||
xywh {360 165 90 25}
|
||||
}
|
||||
}
|
||||
}
|
||||
100
etip/etip.fld
100
etip/etip.fld
@@ -1,100 +0,0 @@
|
||||
# data file for the FLTK User Interface Designer (FLUID)
|
||||
version 2.0100
|
||||
images_dir ./
|
||||
header_name {.h}
|
||||
code_name {.cpp}
|
||||
gridx 5
|
||||
gridy 5
|
||||
snap 3
|
||||
decl {// Tips for EDE is (C) Copyright 2001-2002 by Martin Pekar, this program is provided under the terms of GNU GPL v.2, see file COPYING for more information.} {}
|
||||
|
||||
decl {\#include <stdio.h>} {}
|
||||
|
||||
decl {\#include <stdlib.h>} {}
|
||||
|
||||
decl {\#include "EDE_Config.h"} {}
|
||||
|
||||
decl {\#include "NLS.h"} {}
|
||||
|
||||
decl {char *tips[5];} {}
|
||||
|
||||
decl {int activeTip = 0;} {}
|
||||
|
||||
decl {EDE_Config conf("EDE Team", "etip");} {}
|
||||
|
||||
Function {} {open
|
||||
} {
|
||||
code {//fl_init_locale_support("etip", PREFIX"/share/locale");
|
||||
bool show = true;
|
||||
conf.set_section("Tips");
|
||||
conf.read("Show", show, true);
|
||||
if (!show)
|
||||
return 0;
|
||||
tips[0]=_("To start any application is simple. Press on the EDE button, go to the Programs menu, select category and click on the wished program.");
|
||||
tips[1]=_("To exit the Equinox Desktop environment, press EDE button and then logout.");
|
||||
tips[2]=_("To lock the computer, press EDE button and then lock.");
|
||||
tips[3]=_("To setup things on the computer, press EDE button, Panel menu and then the Control panel.");
|
||||
tips[4]=_("To add a program that is not in the Programs menu, click on the EDE button, Panel menu, and then Edit panels menu.");} {}
|
||||
{fltk::Window} {} {
|
||||
label {Startup tips} open selected
|
||||
xywh {394 319 400 205} resizable
|
||||
extra_code {o->size_range(o->w(), o->h());} visible
|
||||
} {
|
||||
{fltk::InvisibleBox} {} {
|
||||
xywh {10 15 60 145} image {/home/vedran/ede/ede2/etip/icons/hint.xpm}
|
||||
}
|
||||
{fltk::CheckButton} show_check {
|
||||
label {Do not show this dialog next time}
|
||||
xywh {77 145 313 20} align 148
|
||||
}
|
||||
{fltk::Group} {} {open
|
||||
xywh {80 15 310 125} align 209 resizable box BORDER_FRAME color 0xf4da1200 labelsize 18
|
||||
} {
|
||||
{fltk::InvisibleBox} tipsBox {
|
||||
xywh {1 46 308 74} align 144 resizable box FLAT_BOX color 7
|
||||
extra_code {o->label(tips[activeTip]);
|
||||
o->window()->redraw();}
|
||||
}
|
||||
{fltk::InvisibleBox} {} {
|
||||
label {Welcome to Equinox Desktop Environment}
|
||||
xywh {5 5 300 45} align 144 box FLAT_BOX color 0xf4da1200 labelcolor 32 labelsize 18
|
||||
}
|
||||
}
|
||||
{fltk::Group} {} {open
|
||||
xywh {0 165 400 40}
|
||||
} {
|
||||
{fltk::Button} {} {
|
||||
label {<< &Previous}
|
||||
callback {if (activeTip>0 && activeTip<=4) {
|
||||
activeTip--;
|
||||
tipsBox->label(tips[activeTip]);
|
||||
tipsBox->window()->redraw();
|
||||
}}
|
||||
xywh {125 7 90 23} align 128
|
||||
}
|
||||
{fltk::Button} {} {
|
||||
label {&Next >>}
|
||||
callback {if (activeTip>=0 && activeTip<4) {
|
||||
activeTip++;
|
||||
tipsBox->label(tips[activeTip]);
|
||||
tipsBox->window()->redraw();
|
||||
}}
|
||||
xywh {215 7 90 23}
|
||||
}
|
||||
{fltk::InvisibleBox} {} {
|
||||
xywh {0 5 157 30}
|
||||
extra_code {// Fluid sucks in layouting...
|
||||
o->parent()->resizable(o);}
|
||||
}
|
||||
{fltk::Button} {} {
|
||||
label {&Close}
|
||||
callback {//Fl_Config conf(fl_find_config_file("apps/etip.conf", 1));
|
||||
conf.set_section("Tips");
|
||||
conf.write("Show", !show_check->value());
|
||||
conf.flush();
|
||||
exit(0);}
|
||||
xywh {320 7 70 23}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
43
etip/fl/etip.fl
Normal file
43
etip/fl/etip.fl
Normal file
@@ -0,0 +1,43 @@
|
||||
# data file for the Fltk User Interface Designer (fluid)
|
||||
version 1.0108
|
||||
header_name {.h}
|
||||
code_name {.cxx}
|
||||
Function {} {open
|
||||
} {
|
||||
Fl_Window {} {
|
||||
label {EDE Tips And Tricks} open
|
||||
xywh {299 206 535 260} type Double visible
|
||||
} {
|
||||
Fl_Check_Button {} {
|
||||
label {Show tips on startup} selected
|
||||
xywh {10 224 225 25} down_box DOWN_BOX labelsize 13
|
||||
}
|
||||
Fl_Button {} {
|
||||
label {&Previous}
|
||||
xywh {240 224 90 25}
|
||||
}
|
||||
Fl_Button {} {
|
||||
label {&Next}
|
||||
xywh {335 224 90 25}
|
||||
}
|
||||
Fl_Button {} {
|
||||
label {&Close}
|
||||
xywh {435 224 90 25}
|
||||
}
|
||||
Fl_Group {} {open
|
||||
xywh {10 10 515 205} box DOWN_BOX color 7
|
||||
} {
|
||||
Fl_Box {} {
|
||||
image {../icons/hint.xpm} xywh {11 13 121 201} labelsize 14
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {Some tips...}
|
||||
xywh {155 23 355 25} labelfont 1 align 212
|
||||
}
|
||||
Fl_Box {} {
|
||||
label {If you cannot access the titlebar, you can still move a window on the screen by holding the Alt key, clicking anywhere into the window and "dragging" it with the mouse.}
|
||||
xywh {155 60 355 140} align 213
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1190
etip/icons/hint.xpm
1190
etip/icons/hint.xpm
File diff suppressed because it is too large
Load Diff
@@ -1,93 +0,0 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: emenueditor\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-02-04 11:58+0100\n"
|
||||
"PO-Revision-Date: 2002-11-29 15:50+0700\n"
|
||||
"Last-Translator: Bambang Purnomosidi D. P. <i-am-the-boss@bpdp.org>\n"
|
||||
"Language-Team: id <i-am-the-boss@bpdp.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=iso-8859-2\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: etip.cpp:809
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To start any application is simple. Press on the button with your user name, "
|
||||
"go to the Programs menu, select category and click on the wished program."
|
||||
msgstr ""
|
||||
"Untuk memulai suatu aplikasi, caranya sederhana. Tekan tombol EDE, gerakkan "
|
||||
"ke menu Programs, pilih kategori dan klik pada program yang diinginkan."
|
||||
|
||||
#: etip.cpp:810
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To exit the Equinox Desktop environment, press button with your user name "
|
||||
"and then logout."
|
||||
msgstr ""
|
||||
"Untuk keluar dari Equinox Desktop Environment, tekan tombol EDE dan kemudian "
|
||||
"logout."
|
||||
|
||||
#: etip.cpp:811
|
||||
#, fuzzy
|
||||
msgid "To lock the computer, press button with your user name and then lock."
|
||||
msgstr "Untuk mengunci komputer, tekan tombol EDE dan kemudian lock."
|
||||
|
||||
#: etip.cpp:812
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To setup things on the computer, press button with your user name, Panel "
|
||||
"menu and then the Control panel."
|
||||
msgstr ""
|
||||
"Untuk mensetup hal-hal tertentu di komputer anda, tekan tombol EDE, menu "
|
||||
"Panel dan kemudian Control panel."
|
||||
|
||||
#: etip.cpp:813
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To add a program that is not in the Programs menu, click on the button with "
|
||||
"your user, Panel menu, and then Edit panels menu."
|
||||
msgstr ""
|
||||
"Untuk menambahkan suatu program yang tidak berada di menu Programs, klik "
|
||||
"pada tombol EDE, menu Panel, dan kemudian menu Edit panel/"
|
||||
|
||||
#: etip.cpp:814
|
||||
msgid ""
|
||||
"Notice that this is still development version, so please send your bug "
|
||||
"reports or comments on EDE forum, EDE bug reporting system (on project's "
|
||||
"page), or karijes@users.sourceforge.net."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:815
|
||||
msgid ""
|
||||
"You can download latest release on - http://sourceforge.net/projects/ede."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:820
|
||||
msgid "Startup tips"
|
||||
msgstr "Tips startup"
|
||||
|
||||
#: etip.cpp:825
|
||||
msgid "Do not show this dialog next time"
|
||||
msgstr "Jangan perlihatkan dialog ini lain kali"
|
||||
|
||||
#: etip.cpp:840
|
||||
#, fuzzy
|
||||
msgid "Welcome to Equinox Desktop Environment version "
|
||||
msgstr "Selamat datang di Equinox Desktop Environment"
|
||||
|
||||
#: etip.cpp:850
|
||||
msgid "<< &Previous"
|
||||
msgstr "<< &Sebelum"
|
||||
|
||||
#: etip.cpp:854
|
||||
msgid "&Next >>"
|
||||
msgstr "&Berikut >>"
|
||||
|
||||
#: etip.cpp:859
|
||||
msgid "&Close"
|
||||
msgstr "&Tutup"
|
||||
@@ -1,81 +0,0 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
|
||||
# This file is distributed under the same license as the PACKAGE package.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-02-04 11:58+0100\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=CHARSET\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: etip.cpp:809
|
||||
msgid ""
|
||||
"To start any application is simple. Press on the button with your user name, "
|
||||
"go to the Programs menu, select category and click on the wished program."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:810
|
||||
msgid ""
|
||||
"To exit the Equinox Desktop environment, press button with your user name "
|
||||
"and then logout."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:811
|
||||
msgid "To lock the computer, press button with your user name and then lock."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:812
|
||||
msgid ""
|
||||
"To setup things on the computer, press button with your user name, Panel "
|
||||
"menu and then the Control panel."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:813
|
||||
msgid ""
|
||||
"To add a program that is not in the Programs menu, click on the button with "
|
||||
"your user, Panel menu, and then Edit panels menu."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:814
|
||||
msgid ""
|
||||
"Notice that this is still development version, so please send your bug "
|
||||
"reports or comments on EDE forum, EDE bug reporting system (on project's "
|
||||
"page), or karijes@users.sourceforge.net."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:815
|
||||
msgid ""
|
||||
"You can download latest release on - http://sourceforge.net/projects/ede."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:820
|
||||
msgid "Startup tips"
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:825
|
||||
msgid "Do not show this dialog next time"
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:840
|
||||
msgid "Welcome to Equinox Desktop Environment version "
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:850
|
||||
msgid "<< &Previous"
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:854
|
||||
msgid "&Next >>"
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:859
|
||||
msgid "&Close"
|
||||
msgstr ""
|
||||
@@ -1,93 +0,0 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-02-04 11:58+0100\n"
|
||||
"PO-Revision-Date: 2002-11-28 HO:MI+ZONE\n"
|
||||
"Last-Translator: aabbvv <null@list.ru>\n"
|
||||
"Language-Team: RUSSIAN <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=koi8-r\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: etip.cpp:809
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To start any application is simple. Press on the button with your user name, "
|
||||
"go to the Programs menu, select category and click on the wished program."
|
||||
msgstr ""
|
||||
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EDE, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> "
|
||||
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> ݣ<><DDA3><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>."
|
||||
|
||||
#: etip.cpp:810
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To exit the Equinox Desktop environment, press button with your user name "
|
||||
"and then logout."
|
||||
msgstr "<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> EDE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EDE, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>."
|
||||
|
||||
#: etip.cpp:811
|
||||
#, fuzzy
|
||||
msgid "To lock the computer, press button with your user name and then lock."
|
||||
msgstr ""
|
||||
"<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EDE <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>."
|
||||
|
||||
#: etip.cpp:812
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To setup things on the computer, press button with your user name, Panel "
|
||||
"menu and then the Control panel."
|
||||
msgstr ""
|
||||
"<22><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>-<2D><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EDE <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> \"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
"\" <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>."
|
||||
|
||||
#: etip.cpp:813
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To add a program that is not in the Programs menu, click on the button with "
|
||||
"your user, Panel menu, and then Edit panels menu."
|
||||
msgstr ""
|
||||
"<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> EDE, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>,"
|
||||
"<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>."
|
||||
|
||||
#: etip.cpp:814
|
||||
msgid ""
|
||||
"Notice that this is still development version, so please send your bug "
|
||||
"reports or comments on EDE forum, EDE bug reporting system (on project's "
|
||||
"page), or karijes@users.sourceforge.net."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:815
|
||||
msgid ""
|
||||
"You can download latest release on - http://sourceforge.net/projects/ede."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:820
|
||||
msgid "Startup tips"
|
||||
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
|
||||
#: etip.cpp:825
|
||||
msgid "Do not show this dialog next time"
|
||||
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
|
||||
#: etip.cpp:840
|
||||
#, fuzzy
|
||||
msgid "Welcome to Equinox Desktop Environment version "
|
||||
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> Equinox Desktop Environment"
|
||||
|
||||
#: etip.cpp:850
|
||||
msgid "<< &Previous"
|
||||
msgstr "<< <20><><EFBFBD><EFBFBD><EFBFBD>"
|
||||
|
||||
#: etip.cpp:854
|
||||
msgid "&Next >>"
|
||||
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD> >>"
|
||||
|
||||
#: etip.cpp:859
|
||||
msgid "&Close"
|
||||
msgstr "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"
|
||||
@@ -1,94 +0,0 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||||
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: etip 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-02-04 11:58+0100\n"
|
||||
"PO-Revision-Date: 2002-04-21 14:50+0200\n"
|
||||
"Last-Translator: Martin Pekar <cortex@nextra.sk>\n"
|
||||
"Language-Team: Slovak <LL@li.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: etip.cpp:809
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To start any application is simple. Press on the button with your user name, "
|
||||
"go to the Programs menu, select category and click on the wished program."
|
||||
msgstr ""
|
||||
"Spustiť aplikáciu je jednoduché. Stlačte EDE tlačidlo, chodte do ponuky "
|
||||
"Programy, zvoľte kategóriu a kliknite na želaný program."
|
||||
|
||||
#: etip.cpp:810
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To exit the Equinox Desktop environment, press button with your user name "
|
||||
"and then logout."
|
||||
msgstr ""
|
||||
"Ak chcete ukončiť prostredie Equinox Desktop environment, stlačte tlačidlo "
|
||||
"EDE a potom odhlásenie."
|
||||
|
||||
#: etip.cpp:811
|
||||
#, fuzzy
|
||||
msgid "To lock the computer, press button with your user name and then lock."
|
||||
msgstr ""
|
||||
"Na zamknutie počitača, stlačte EDE tlačidlo a potom zablokovať obrazovku."
|
||||
|
||||
#: etip.cpp:812
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To setup things on the computer, press button with your user name, Panel "
|
||||
"menu and then the Control panel."
|
||||
msgstr ""
|
||||
"Na nastavenie vecí na počítači, stlačte EDE tlačidlo, ponuku Panel a potom "
|
||||
"Kontrólny panel."
|
||||
|
||||
#: etip.cpp:813
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To add a program that is not in the Programs menu, click on the button with "
|
||||
"your user, Panel menu, and then Edit panels menu."
|
||||
msgstr ""
|
||||
"Na pridanie programu, ktorý nie je ponuke Programy, kliknite na EDE "
|
||||
"tlačidlo, ponuku Panel a potom Editovať ponuku panelu."
|
||||
|
||||
#: etip.cpp:814
|
||||
msgid ""
|
||||
"Notice that this is still development version, so please send your bug "
|
||||
"reports or comments on EDE forum, EDE bug reporting system (on project's "
|
||||
"page), or karijes@users.sourceforge.net."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:815
|
||||
msgid ""
|
||||
"You can download latest release on - http://sourceforge.net/projects/ede."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:820
|
||||
msgid "Startup tips"
|
||||
msgstr "Úvodné typy"
|
||||
|
||||
#: etip.cpp:825
|
||||
msgid "Do not show this dialog next time"
|
||||
msgstr "Nabudúce už tento dialóg nezobrazovať"
|
||||
|
||||
#: etip.cpp:840
|
||||
#, fuzzy
|
||||
msgid "Welcome to Equinox Desktop Environment version "
|
||||
msgstr "Vitajte v prostredí Equinox Desktop Environment"
|
||||
|
||||
#: etip.cpp:850
|
||||
msgid "<< &Previous"
|
||||
msgstr "<< &Späť"
|
||||
|
||||
#: etip.cpp:854
|
||||
msgid "&Next >>"
|
||||
msgstr "&Ďalej >>"
|
||||
|
||||
#: etip.cpp:859
|
||||
msgid "&Close"
|
||||
msgstr "&Zavrieť"
|
||||
@@ -1,95 +0,0 @@
|
||||
# SOME DESCRIPTIVE TITLE.
|
||||
# Copyright (C) YEAR Free Software Foundation, Inc.
|
||||
# Dejan Lekic <dejan@nu6.org>, 2002.
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: etip 1.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2005-02-04 11:58+0100\n"
|
||||
"PO-Revision-Date: 2002-12-02 04:19+0100\n"
|
||||
"Last-Translator: Dejan Lekic <dejan@nu6.org>\n"
|
||||
"Language-Team: LINUKS.org T.T. <i18n@linuks.org>\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=utf-8\n"
|
||||
"Content-Transfer-Encoding: 8bit\n"
|
||||
|
||||
#: etip.cpp:809
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To start any application is simple. Press on the button with your user name, "
|
||||
"go to the Programs menu, select category and click on the wished program."
|
||||
msgstr ""
|
||||
"Стартовање апликације је веома просто. Притисните ЕДЕ тастер \"Програми\", "
|
||||
"селектујте категорију и кликните на жељени програм."
|
||||
|
||||
#: etip.cpp:810
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To exit the Equinox Desktop environment, press button with your user name "
|
||||
"and then logout."
|
||||
msgstr ""
|
||||
"Да бисте изашли из ЕДЕ-а притисните ЕДЕ тастер и након тога кликните на "
|
||||
"\"Излогуј ме\"."
|
||||
|
||||
#: etip.cpp:811
|
||||
#, fuzzy
|
||||
msgid "To lock the computer, press button with your user name and then lock."
|
||||
msgstr ""
|
||||
"Да бисте закључали рачунар притисните ЕДЕ тастер и након тога кликните на "
|
||||
"\"закључај\"."
|
||||
|
||||
#: etip.cpp:812
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To setup things on the computer, press button with your user name, Panel "
|
||||
"menu and then the Control panel."
|
||||
msgstr ""
|
||||
"Да бисте подесили разне ствари на вашем рачунару притисните ЕДЕ тастер, "
|
||||
"након тога изаберите \"Панел\" мени и кликните на \"Контролни панел\" опцију."
|
||||
|
||||
#: etip.cpp:813
|
||||
#, fuzzy
|
||||
msgid ""
|
||||
"To add a program that is not in the Programs menu, click on the button with "
|
||||
"your user, Panel menu, and then Edit panels menu."
|
||||
msgstr ""
|
||||
"Да бисте додали програм који није у менију \"Програми\" кликните на ЕДЕ "
|
||||
"тастер, \"Панел\" мени и онда на \"Едитовање панела\" опцију."
|
||||
|
||||
#: etip.cpp:814
|
||||
msgid ""
|
||||
"Notice that this is still development version, so please send your bug "
|
||||
"reports or comments on EDE forum, EDE bug reporting system (on project's "
|
||||
"page), or karijes@users.sourceforge.net."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:815
|
||||
msgid ""
|
||||
"You can download latest release on - http://sourceforge.net/projects/ede."
|
||||
msgstr ""
|
||||
|
||||
#: etip.cpp:820
|
||||
msgid "Startup tips"
|
||||
msgstr "Стартап савети"
|
||||
|
||||
#: etip.cpp:825
|
||||
msgid "Do not show this dialog next time"
|
||||
msgstr "Не желим приказивање овог дијалога у будуће"
|
||||
|
||||
#: etip.cpp:840
|
||||
#, fuzzy
|
||||
msgid "Welcome to Equinox Desktop Environment version "
|
||||
msgstr "Добродошли у Иквинокс Десктоп Окружење :)"
|
||||
|
||||
#: etip.cpp:850
|
||||
msgid "<< &Previous"
|
||||
msgstr "<< &Претходни"
|
||||
|
||||
#: etip.cpp:854
|
||||
msgid "&Next >>"
|
||||
msgstr "&Следећи >>"
|
||||
|
||||
#: etip.cpp:859
|
||||
msgid "&Close"
|
||||
msgstr "&Затвори"
|
||||
26
etip/tips/ede
Normal file
26
etip/tips/ede
Normal file
@@ -0,0 +1,26 @@
|
||||
To start any application is simple. Press on the button with your user
|
||||
name, go to the Programs menu, select category and click on the wished program.
|
||||
%
|
||||
To exit the EDE, press button with your user name and then Logout.
|
||||
%
|
||||
To lock the computer, press button with your user name and then choose Lock.
|
||||
%
|
||||
To setup things on the computer, press button with your user name, Panel menu
|
||||
and then the Control panel.
|
||||
%
|
||||
To add a program that is not in the Programs menu, click on the button with
|
||||
your user name, Panel menu, and then Menu editor.
|
||||
%
|
||||
Notice that this is still development version, so please send your bug reports
|
||||
or comments on EDE forum, EDE bug reporting system (on project page), or check mails of
|
||||
current maintainers located in AUTHORS file.
|
||||
%
|
||||
You can download latest release on http://equinox-project.org.
|
||||
|
||||
bla bla
|
||||
%
|
||||
If you are interested to help us, don't hesitate to write or visit our page.
|
||||
You don't have to be a coding guru nor have expirience in GUI programming. If you don't have any
|
||||
expirience in programming, there are always things you can do for us, like writing
|
||||
or checking documentation, spreading a words or at the best, testing EDE to the limits.
|
||||
%
|
||||
Reference in New Issue
Block a user