mirror of
https://git.lyx.org/repos/lyx.git
synced 2024-11-09 18:31:04 +00:00
Sexy new GTK about dialog
git-svn-id: svn://svn.lyx.org/lyx/lyx-devel/trunk@10820 a592a061-630c-0410-9148-cb99ea01b6c8
This commit is contained in:
parent
d928a9d0a2
commit
670fc3e2c5
@ -5,6 +5,7 @@
|
|||||||
* GBibtex.[Ch], glade/bibtex.glade: Implement bibtex dialog
|
* GBibtex.[Ch], glade/bibtex.glade: Implement bibtex dialog
|
||||||
* ghelpers.[Ch], GtkLengthEntry.[Ch]: Move some old stuff out of
|
* ghelpers.[Ch], GtkLengthEntry.[Ch]: Move some old stuff out of
|
||||||
ghelpers into GtkLengthEntry
|
ghelpers into GtkLengthEntry
|
||||||
|
* GAboutlyx.[Ch], glade/aboutlyx.glade: Sexy new about dialog
|
||||||
|
|
||||||
2006-02-05 John Spray <spray@lyx.org>
|
2006-02-05 John Spray <spray@lyx.org>
|
||||||
|
|
||||||
|
@ -23,10 +23,14 @@
|
|||||||
#include "ghelpers.h"
|
#include "ghelpers.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
|
|
||||||
|
#include "support/filetools.h" // LibFileSearch
|
||||||
|
|
||||||
#include <libglademm.h>
|
#include <libglademm.h>
|
||||||
|
|
||||||
#include <sstream>
|
#include <sstream>
|
||||||
|
|
||||||
|
using lyx::support::LibFileSearch;
|
||||||
|
|
||||||
using std::ostringstream;
|
using std::ostringstream;
|
||||||
using std::string;
|
using std::string;
|
||||||
|
|
||||||
@ -157,32 +161,66 @@ void GAboutlyx::doBuild()
|
|||||||
{
|
{
|
||||||
string const gladeName = findGladeFile("aboutlyx");
|
string const gladeName = findGladeFile("aboutlyx");
|
||||||
xml_ = Gnome::Glade::Xml::create(gladeName);
|
xml_ = Gnome::Glade::Xml::create(gladeName);
|
||||||
Gtk::Label * version;
|
|
||||||
Gtk::Label * credits;
|
Gtk::AboutDialog *dialog;
|
||||||
Gtk::Label * license;
|
xml_->get_widget("dialog", dialog);
|
||||||
xml_->get_widget("version", version);
|
|
||||||
xml_->get_widget("credits", credits);
|
dialog->set_version(Glib::ustring(PACKAGE_VERSION));
|
||||||
xml_->get_widget("license", license);
|
|
||||||
std::ostringstream vs;
|
|
||||||
vs << controller().getVersion()
|
|
||||||
<< std::endl << lyx_version_info;
|
|
||||||
version->set_text(Glib::locale_to_utf8(vs.str()));
|
|
||||||
std::ostringstream crs;
|
|
||||||
controller().getCredits(crs);
|
|
||||||
credits->set_markup(
|
|
||||||
translateMarkup(Glib::convert(crs.str(),
|
|
||||||
"UTF-8",
|
|
||||||
"ISO8859-1")));
|
|
||||||
std::ostringstream ls;
|
std::ostringstream ls;
|
||||||
ls << controller().getCopyright() << "\n\n"
|
ls << controller().getCopyright() << "\n\n"
|
||||||
<< controller().getLicense() << "\n\n"
|
<< controller().getLicense() << "\n\n"
|
||||||
<< controller().getDisclaimer();
|
<< controller().getDisclaimer();
|
||||||
license->set_text(Glib::locale_to_utf8(ls.str()));
|
dialog->set_license (ls.str());
|
||||||
Gtk::Button * btn;
|
|
||||||
xml_->get_widget("close_button", btn);
|
string const filename = LibFileSearch("images", "banner", "ppm");
|
||||||
setCancel(btn);
|
Glib::RefPtr<Gdk::Pixbuf> logo = Gdk::Pixbuf::create_from_file(filename);
|
||||||
//btn->signal_clicked().connect(sigc::mem_fun(*this, &GViewBase::onCancel));
|
Glib::RefPtr<Gdk::Pixbuf> logo_scaled = logo->scale_simple(
|
||||||
|
logo->get_width() / 2,
|
||||||
|
logo->get_height() / 2,
|
||||||
|
Gdk::INTERP_BILINEAR);
|
||||||
|
dialog->set_logo(logo_scaled);
|
||||||
|
|
||||||
|
// Total crack - find and hide the built in Credits button
|
||||||
|
// that glade helpfully puts there for us.
|
||||||
|
Glib::List_Iterator<Gtk::Box_Helpers::Child> it =
|
||||||
|
dialog->get_action_area()->children().begin();
|
||||||
|
Glib::List_Iterator<Gtk::Box_Helpers::Child> const end =
|
||||||
|
dialog->get_action_area()->children().end();
|
||||||
|
for (; it != end; ++it) {
|
||||||
|
Gtk::Button * button = (Gtk::Button*)(it->get_widget());
|
||||||
|
// The close button is a stock ID which we can reliably test for
|
||||||
|
// The license button has no icon
|
||||||
|
// What's left is the credits button
|
||||||
|
if (button->get_label() != "gtk-close" && button->get_image())
|
||||||
|
button->hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
Gtk::Button &authorbutton = *Gtk::manage(
|
||||||
|
new Gtk::Button(_("C_redits"), true));
|
||||||
|
authorbutton.set_image(*Gtk::manage(
|
||||||
|
new Gtk::Image(Gtk::Stock::ABOUT, Gtk::ICON_SIZE_BUTTON)));
|
||||||
|
dialog->get_action_area()->pack_end(authorbutton);
|
||||||
|
dialog->get_action_area()->reorder_child(authorbutton, 0);
|
||||||
|
authorbutton.signal_clicked().connect(
|
||||||
|
sigc::mem_fun(*this, &GAboutlyx::showAuthors));
|
||||||
|
authorbutton.show();
|
||||||
|
xml_->get_widget("AuthorsDialog", authordialog_);
|
||||||
|
Gtk::Label *authorlabel;
|
||||||
|
xml_->get_widget("Authors", authorlabel);
|
||||||
|
std::ostringstream crs;
|
||||||
|
controller().getCredits(crs);
|
||||||
|
authorlabel->set_markup(translateMarkup(
|
||||||
|
Glib::convert(crs.str(), "UTF-8", "ISO-8859-1")));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void GAboutlyx::showAuthors()
|
||||||
|
{
|
||||||
|
authordialog_->run();
|
||||||
|
authordialog_->hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
} // namespace frontend
|
} // namespace frontend
|
||||||
} // namespace lyx
|
} // namespace lyx
|
||||||
|
@ -26,6 +26,9 @@ private:
|
|||||||
virtual void apply() {}
|
virtual void apply() {}
|
||||||
virtual void update() {}
|
virtual void update() {}
|
||||||
virtual void doBuild();
|
virtual void doBuild();
|
||||||
|
|
||||||
|
void showAuthors();
|
||||||
|
Gtk::Dialog *authordialog_;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // namespace frontend
|
} // namespace frontend
|
||||||
|
@ -3,13 +3,26 @@
|
|||||||
|
|
||||||
<glade-interface>
|
<glade-interface>
|
||||||
|
|
||||||
<widget class="GtkDialog" id="dialog">
|
<widget class="GtkAboutDialog" id="dialog">
|
||||||
<property name="title" translatable="yes">About LyX</property>
|
<property name="visible">True</property>
|
||||||
|
<property name="destroy_with_parent">False</property>
|
||||||
|
<property name="name" translatable="yes">LyX</property>
|
||||||
|
<property name="copyright" translatable="yes">Copyright © 1995 Matthias Ettrich
|
||||||
|
Copyright © 1995-2006 LyX Team</property>
|
||||||
|
<property name="comments" translatable="yes">The Document Processor</property>
|
||||||
|
<property name="wrap_license">True</property>
|
||||||
|
<property name="website">http://www.lyx.org</property>
|
||||||
|
<property name="website_label" translatable="yes">http://www.lyx.org</property>
|
||||||
|
<property name="translator_credits" translatable="yes" comments="TRANSLATORS: Replace this string with your names, one name per line.">translator-credits</property>
|
||||||
|
</widget>
|
||||||
|
|
||||||
|
<widget class="GtkDialog" id="AuthorsDialog">
|
||||||
|
<property name="title" translatable="yes">Credits</property>
|
||||||
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
<property name="type">GTK_WINDOW_TOPLEVEL</property>
|
||||||
<property name="window_position">GTK_WIN_POS_NONE</property>
|
<property name="window_position">GTK_WIN_POS_NONE</property>
|
||||||
<property name="modal">False</property>
|
<property name="modal">False</property>
|
||||||
<property name="default_width">300</property>
|
<property name="default_width">300</property>
|
||||||
<property name="default_height">200</property>
|
<property name="default_height">300</property>
|
||||||
<property name="resizable">True</property>
|
<property name="resizable">True</property>
|
||||||
<property name="destroy_with_parent">False</property>
|
<property name="destroy_with_parent">False</property>
|
||||||
<property name="decorated">True</property>
|
<property name="decorated">True</property>
|
||||||
@ -17,7 +30,9 @@
|
|||||||
<property name="skip_pager_hint">False</property>
|
<property name="skip_pager_hint">False</property>
|
||||||
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
|
<property name="type_hint">GDK_WINDOW_TYPE_HINT_DIALOG</property>
|
||||||
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
|
<property name="gravity">GDK_GRAVITY_NORTH_WEST</property>
|
||||||
<property name="has_separator">True</property>
|
<property name="focus_on_map">True</property>
|
||||||
|
<property name="urgency_hint">False</property>
|
||||||
|
<property name="has_separator">False</property>
|
||||||
|
|
||||||
<child internal-child="vbox">
|
<child internal-child="vbox">
|
||||||
<widget class="GtkVBox" id="dialog-vbox1">
|
<widget class="GtkVBox" id="dialog-vbox1">
|
||||||
@ -31,7 +46,7 @@
|
|||||||
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
<property name="layout_style">GTK_BUTTONBOX_END</property>
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkButton" id="close_button">
|
<widget class="GtkButton" id="closebutton1">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_default">True</property>
|
<property name="can_default">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
@ -40,7 +55,6 @@
|
|||||||
<property name="relief">GTK_RELIEF_NORMAL</property>
|
<property name="relief">GTK_RELIEF_NORMAL</property>
|
||||||
<property name="focus_on_click">True</property>
|
<property name="focus_on_click">True</property>
|
||||||
<property name="response_id">-7</property>
|
<property name="response_id">-7</property>
|
||||||
<accelerator key="Escape" modifiers="0" signal="clicked"/>
|
|
||||||
</widget>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
@ -53,190 +67,41 @@
|
|||||||
</child>
|
</child>
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkNotebook" id="notebook1">
|
<widget class="GtkScrolledWindow" id="scrolledwindow5">
|
||||||
|
<property name="border_width">12</property>
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="can_focus">True</property>
|
||||||
<property name="show_tabs">True</property>
|
<property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
|
||||||
<property name="show_border">True</property>
|
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
||||||
<property name="tab_pos">GTK_POS_TOP</property>
|
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
||||||
<property name="scrollable">False</property>
|
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
||||||
<property name="enable_popup">False</property>
|
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkScrolledWindow" id="scrolledwindow3">
|
<widget class="GtkViewport" id="viewport5">
|
||||||
<property name="width_request">400</property>
|
|
||||||
<property name="height_request">250</property>
|
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="can_focus">True</property>
|
<property name="shadow_type">GTK_SHADOW_IN</property>
|
||||||
<property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
|
|
||||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
|
||||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
|
||||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
|
||||||
|
|
||||||
<child>
|
<child>
|
||||||
<widget class="GtkViewport" id="viewport3">
|
<widget class="GtkLabel" id="Authors">
|
||||||
<property name="visible">True</property>
|
<property name="visible">True</property>
|
||||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
<property name="can_focus">True</property>
|
||||||
|
<property name="label" translatable="yes">label8</property>
|
||||||
<child>
|
<property name="use_underline">False</property>
|
||||||
<widget class="GtkLabel" id="version">
|
<property name="use_markup">False</property>
|
||||||
<property name="visible">True</property>
|
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
||||||
<property name="label" translatable="yes">version</property>
|
<property name="wrap">True</property>
|
||||||
<property name="use_underline">False</property>
|
<property name="selectable">True</property>
|
||||||
<property name="use_markup">False</property>
|
<property name="xalign">0.5</property>
|
||||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
<property name="yalign">0.5</property>
|
||||||
<property name="wrap">True</property>
|
<property name="xpad">0</property>
|
||||||
<property name="selectable">False</property>
|
<property name="ypad">0</property>
|
||||||
<property name="xalign">0.5</property>
|
<property name="ellipsize">PANGO_ELLIPSIZE_NONE</property>
|
||||||
<property name="yalign">0.5</property>
|
<property name="width_chars">-1</property>
|
||||||
<property name="xpad">0</property>
|
<property name="single_line_mode">False</property>
|
||||||
<property name="ypad">0</property>
|
<property name="angle">0</property>
|
||||||
</widget>
|
|
||||||
</child>
|
|
||||||
</widget>
|
</widget>
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
|
||||||
<property name="tab_expand">False</property>
|
|
||||||
<property name="tab_fill">True</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkLabel" id="label6">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes">Version</property>
|
|
||||||
<property name="use_underline">False</property>
|
|
||||||
<property name="use_markup">False</property>
|
|
||||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
|
||||||
<property name="wrap">False</property>
|
|
||||||
<property name="selectable">False</property>
|
|
||||||
<property name="xalign">0.5</property>
|
|
||||||
<property name="yalign">0.5</property>
|
|
||||||
<property name="xpad">0</property>
|
|
||||||
<property name="ypad">0</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="type">tab</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkScrolledWindow" id="scrolledwindow4">
|
|
||||||
<property name="width_request">400</property>
|
|
||||||
<property name="height_request">250</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
|
|
||||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
|
||||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
|
||||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkViewport" id="viewport4">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkLabel" id="credits">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes">credits</property>
|
|
||||||
<property name="use_underline">False</property>
|
|
||||||
<property name="use_markup">False</property>
|
|
||||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
|
||||||
<property name="wrap">True</property>
|
|
||||||
<property name="selectable">False</property>
|
|
||||||
<property name="xalign">0.5</property>
|
|
||||||
<property name="yalign">0.5</property>
|
|
||||||
<property name="xpad">0</property>
|
|
||||||
<property name="ypad">0</property>
|
|
||||||
</widget>
|
|
||||||
</child>
|
|
||||||
</widget>
|
|
||||||
</child>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="tab_expand">False</property>
|
|
||||||
<property name="tab_fill">True</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkLabel" id="label7">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes">Credits</property>
|
|
||||||
<property name="use_underline">False</property>
|
|
||||||
<property name="use_markup">False</property>
|
|
||||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
|
||||||
<property name="wrap">False</property>
|
|
||||||
<property name="selectable">False</property>
|
|
||||||
<property name="xalign">0.5</property>
|
|
||||||
<property name="yalign">0.5</property>
|
|
||||||
<property name="xpad">0</property>
|
|
||||||
<property name="ypad">0</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="type">tab</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkScrolledWindow" id="scrolledwindow5">
|
|
||||||
<property name="width_request">400</property>
|
|
||||||
<property name="height_request">250</property>
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="can_focus">True</property>
|
|
||||||
<property name="hscrollbar_policy">GTK_POLICY_NEVER</property>
|
|
||||||
<property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
|
|
||||||
<property name="shadow_type">GTK_SHADOW_NONE</property>
|
|
||||||
<property name="window_placement">GTK_CORNER_TOP_LEFT</property>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkViewport" id="viewport5">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="shadow_type">GTK_SHADOW_IN</property>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkLabel" id="license">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes">license</property>
|
|
||||||
<property name="use_underline">False</property>
|
|
||||||
<property name="use_markup">False</property>
|
|
||||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
|
||||||
<property name="wrap">True</property>
|
|
||||||
<property name="selectable">False</property>
|
|
||||||
<property name="xalign">0.5</property>
|
|
||||||
<property name="yalign">0.5</property>
|
|
||||||
<property name="xpad">0</property>
|
|
||||||
<property name="ypad">0</property>
|
|
||||||
</widget>
|
|
||||||
</child>
|
|
||||||
</widget>
|
|
||||||
</child>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="tab_expand">False</property>
|
|
||||||
<property name="tab_fill">True</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
|
||||||
|
|
||||||
<child>
|
|
||||||
<widget class="GtkLabel" id="label8">
|
|
||||||
<property name="visible">True</property>
|
|
||||||
<property name="label" translatable="yes">License</property>
|
|
||||||
<property name="use_underline">False</property>
|
|
||||||
<property name="use_markup">False</property>
|
|
||||||
<property name="justify">GTK_JUSTIFY_LEFT</property>
|
|
||||||
<property name="wrap">False</property>
|
|
||||||
<property name="selectable">False</property>
|
|
||||||
<property name="xalign">0.5</property>
|
|
||||||
<property name="yalign">0.5</property>
|
|
||||||
<property name="xpad">0</property>
|
|
||||||
<property name="ypad">0</property>
|
|
||||||
</widget>
|
|
||||||
<packing>
|
|
||||||
<property name="type">tab</property>
|
|
||||||
</packing>
|
|
||||||
</child>
|
</child>
|
||||||
</widget>
|
</widget>
|
||||||
<packing>
|
<packing>
|
||||||
|
Loading…
Reference in New Issue
Block a user