mirror of
https://github.com/edeproject/ede.git
synced 2023-08-10 21:13:03 +03:00
85 lines
2.2 KiB
C++
85 lines
2.2 KiB
C++
|
/*
|
||
|
* $Id$
|
||
|
*
|
||
|
* About dialog
|
||
|
* Part of Equinox Desktop Environment (EDE).
|
||
|
* Copyright (c) 2000-2006 EDE Authors.
|
||
|
*
|
||
|
* This program is licenced under terms of the
|
||
|
* GNU General Public Licence version 2 or newer.
|
||
|
* See COPYING for details.
|
||
|
*/
|
||
|
|
||
|
#include "about_dialog.h"
|
||
|
#include <string.h>
|
||
|
#include <stdlib.h>
|
||
|
|
||
|
#include "../edeconf.h"
|
||
|
#include "NLS.h"
|
||
|
#include "Run.h"
|
||
|
#include "Util.h"
|
||
|
|
||
|
|
||
|
using namespace fltk;
|
||
|
using namespace edelib;
|
||
|
|
||
|
const char* copying_file = "copying.html";
|
||
|
|
||
|
|
||
|
static Window *aboutWindow;
|
||
|
|
||
|
void showCopyingInfo()
|
||
|
{
|
||
|
run_program(tsprintf("file:%s/%s", DOC_PATH, copying_file),false,false,true);
|
||
|
}
|
||
|
|
||
|
void cb_Click(Button* b, void*)
|
||
|
{
|
||
|
showCopyingInfo();
|
||
|
}
|
||
|
|
||
|
void cb_Close(Button*, void*)
|
||
|
{
|
||
|
aboutWindow->hide();
|
||
|
}
|
||
|
|
||
|
void edelib::about_dialog(const char *progname, const char *progversion, const char *addcomment)
|
||
|
{
|
||
|
aboutWindow = new Window(275, 190);
|
||
|
aboutWindow->begin();
|
||
|
{InvisibleBox* o = new InvisibleBox(5, 5, 265, 44);
|
||
|
o->labelsize(18);
|
||
|
o->label(tasprintf("%s %s",progname,progversion)); // tmp will be deallocated by InvisibleBox destructor
|
||
|
o->box(FLAT_BOX);
|
||
|
}
|
||
|
{InvisibleBox* o = new InvisibleBox(5, 50, 265, 20);
|
||
|
o->label(tasprintf(_("Part of Equinox Desktop Environment %s"),PACKAGE_VERSION)); // tmp will be deallocated by InvisibleBox destructor
|
||
|
o->box(FLAT_BOX);
|
||
|
}
|
||
|
new InvisibleBox(5, 70, 265, 20, _("(C) Copyright 2000-2005 EDE Authors"));
|
||
|
{InvisibleBox* o = new InvisibleBox(5, 90, 265, 40, _("This program is licenced under terms of the GNU General Public License version 2 or newer."));
|
||
|
o->labelsize(10);
|
||
|
o->align(ALIGN_INSIDE|ALIGN_WRAP);
|
||
|
}
|
||
|
{Button* o = new Button(65, 124, 145, 20, _("Click here for details."));
|
||
|
o->box(NO_BOX);
|
||
|
o->buttonbox(NO_BOX);
|
||
|
o->labelcolor(BLUE);
|
||
|
o->highlight_textcolor(RED);
|
||
|
o->labelsize(10);
|
||
|
o->callback((Callback*)cb_Click);
|
||
|
((Window*)(o->parent()))->hotspot(o);
|
||
|
}
|
||
|
{Button* o = new Button(95, 152, 80, 25, "&Close");
|
||
|
o->callback((Callback*)cb_Close);
|
||
|
}
|
||
|
aboutWindow->end();
|
||
|
|
||
|
aboutWindow->label(tasprintf(_("About %s"), progname)); // tmp will be deallocated by Window destructor
|
||
|
aboutWindow->set_modal();
|
||
|
aboutWindow->resizable(aboutWindow);
|
||
|
|
||
|
aboutWindow->end();
|
||
|
aboutWindow->show();
|
||
|
}
|