Removed unused files.

2002-12-18  Alexander Larsson  <alexl@redhat.com>

	* src/nautilus-preferences-dialog.c:
	* src/nautilus-preferences-dialog.h:
	* src/nautilus-theme-selector.c:
	* src/nautilus-theme-selector.h:
	Removed unused files.

2002-12-18  Alexander Larsson  <alexl@redhat.com>

	* POTFILES.in:
	Reverted incorrect change.

	* POTFILES.skip:
	Added loser, sample and music components
This commit is contained in:
Alexander Larsson 2002-12-18 09:22:25 +00:00 committed by Alexander Larsson
parent 3cbc7231f3
commit b9a567163e
48 changed files with 3945 additions and 6597 deletions

View file

@ -1,3 +1,11 @@
2002-12-18 Alexander Larsson <alexl@redhat.com>
* src/nautilus-preferences-dialog.c:
* src/nautilus-preferences-dialog.h:
* src/nautilus-theme-selector.c:
* src/nautilus-theme-selector.h:
Removed unused files.
2002-12-17 Alexander Larsson <alexl@redhat.com>
* libnautilus-private/nautilus-view-identifier.c (get_lang_list):

View file

@ -1,3 +1,11 @@
2002-12-18 Alexander Larsson <alexl@redhat.com>
* POTFILES.in:
Reverted incorrect change.
* POTFILES.skip:
Added loser, sample and music components
2002-12-17 Christophe Merlet <redfox@redfoxcenter.org>
* fr.po: Updated French translation.

View file

@ -10,22 +10,8 @@ components/history/Nautilus_View_history.server.in.in
components/history/nautilus-history-view.c
components/image_properties/Nautilus_View_image_properties.server.in.in
components/image_properties/nautilus-image-properties-view.c
components/loser/content/Nautilus_View_content-loser.server.in.in
components/loser/content/nautilus-content-loser-ui.xml
components/loser/content/nautilus-content-loser.c
components/loser/sidebar/Nautilus_View_sidebar-loser.server.in.in
components/loser/sidebar/nautilus-sidebar-loser-ui.xml
components/loser/sidebar/nautilus-sidebar-loser.c
components/music/Nautilus_View_music.server.in.in
components/music/configure.c
components/music/fileinfo.c
components/music/mpg123.c
components/music/nautilus-music-view.c
components/notes/Nautilus_View_notes.server.in.in
components/notes/nautilus-notes.c
components/sample/Nautilus_View_sample.server.in.in
components/sample/nautilus-sample-content-view-ui.xml
components/sample/nautilus-sample-content-view.c
components/text/Nautilus_View_text.server.in.in
components/text/nautilus-text-view-ui.xml
components/text/nautilus-text-view.c
@ -109,7 +95,6 @@ src/nautilus-location-bar.c
src/nautilus-main.c
src/nautilus-profiler.c
src/nautilus-property-browser.c
src/nautilus-preferences-dialog.c
src/nautilus-search-bar-criterion.c
src/nautilus-server-connect.c
src/nautilus-server-connect.desktop.in
@ -120,7 +105,6 @@ src/nautilus-sidebar-title.c
src/nautilus-side-pane.c
src/nautilus-simple-search-bar.c
src/nautilus-switchable-search-bar.c
src/nautilus-theme-selector.c
src/nautilus-view-frame.c
src/nautilus-window-manage-views.c
src/nautilus-window-menus.c

View file

@ -1,3 +1,17 @@
components/loser/content/Nautilus_View_content-loser.server.in.in
components/loser/content/nautilus-content-loser-ui.xml
components/loser/content/nautilus-content-loser.c
components/loser/sidebar/Nautilus_View_sidebar-loser.server.in.in
components/loser/sidebar/nautilus-sidebar-loser-ui.xml
components/loser/sidebar/nautilus-sidebar-loser.c
components/music/Nautilus_View_music.server.in.in
components/music/configure.c
components/music/fileinfo.c
components/music/mpg123.c
components/music/nautilus-music-view.c
components/sample/Nautilus_View_sample.server.in.in
components/sample/nautilus-sample-content-view-ui.xml
components/sample/nautilus-sample-content-view.c
components/news/Nautilus_View_news.server.in
components/news/nautilus-cell-renderer-news.c
components/news/nautilus-news.c

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus 1.0.5\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2001-11-17 13:40GMT+0200\n"
"Last-Translator: Vasif İsmayıloğlu MD <azerb_linux@hotmail.com>\n"
"Language-Team: Azerbaijani Turkic <linuxaz@azerimail.net>\n"

View file

@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-10-31 22:35GMT+2\n"
"Last-Translator: Vital Khilko <dojlid@mova.org>\n"
"Language-Team: belarusian <i18n@mova.org>\n"

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-05-23 14:38GMT\n"
"Last-Translator: Borislav Aleksandrov <B.Aleksandrov@cnsys.bg>\n"
"Language-Team: Bulgarian <bg@li.org>\n"

View file

@ -8,7 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus 2.0.6\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-08-29 18:03+0200\n"
"Last-Translator: Jordi Mallach <jordi@sindominio.net>\n"
"Language-Team: Catalan <tradgnome@softcatala.org>\n"

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus 2.1.x\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-12-14 10:55GMT\n"
"Last-Translator: Michal Bukovjan <bukm@centrum.cz>\n"
"Language-Team: Czech <cs@li.org>\n"

View file

@ -23,7 +23,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Nautilus\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-12-12 21:19+0100\n"
"Last-Translator: Ole Laursen <olau@hardworking.dk>\n"
"Language-Team: Danish <dansk@klid.dk>\n"

2892
po/de.po

File diff suppressed because it is too large Load diff

View file

@ -21,7 +21,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus 1.1.12\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-04-20 19:06+0100\n"
"Last-Translator: Simos Xenitellis <simos@hellug.gr>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"

View file

@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus CVS\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2000-11-09 16:20+0000\n"
"Last-Translator: Robert Brady <rwb197@zepler.org>\n"
"Language-Team: \n"

3342
po/es.po

File diff suppressed because it is too large Load diff

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus 1.0.6\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2001-05-25 13:35+0200\n"
"Last-Translator: Unmantained\n"
"Language-Team: Euskara\n"

View file

@ -23,7 +23,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus 1.1.2\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-12-09 00:04+0200\n"
"Last-Translator: Pauli Virtanen <pauli.virtanen@hut.fi>\n"
"Language-Team: Gnome Finnish Translation Team <gnome-fi-laatu@lists."

2830
po/fr.po

File diff suppressed because it is too large Load diff

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus 1.0.4.1\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2000-08-24 19:35+0100\n"
"Last-Translator: Alastair McKinstry <mckinstry@computer.org>\n"
"Language-Team: Irish <ga@li.org>\n"

View file

@ -10,7 +10,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2000-10-07 19:16+0200\n"
"Last-Translator: Jesús Bravo Álvarez <jba@pobox.com>\n"
"Language-Team: Galician <trasno@ceu.fi.udc.es>\n"

View file

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus CVS-HEAD\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-12-07 19:18+0100\n"
"Last-Translator: Emese Kovacs <emese@gnome.hu>\n"
"Language-Team: Hungarian <hu@gnome.hu>\n"

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus 2.0.4\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-08-18 06:25+0200\n"
"Last-Translator: Pier Luigi Fiorini <plfiorini@supereva.it>\n"
"Language-Team: Italiano <tp@lists.linux.it>\n"

View file

@ -9,7 +9,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus CVS-20020620\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-08-23 19:42+0900\n"
"Last-Translator: James Hashida <khashida@redhat.com>\n"
"Language-Team: Japanese <i18-list@redhat.com>\n"

View file

@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus 2.1.2\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-11-06 11:35+0900\n"
"Last-Translator: Young-Ho, Cha <ganadist@mizi.com>\n"
"Language-Team: GTP Korean <gnome-kr-translation@gnome.or.kr>\n"

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Nautilus 1.1.14\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-05-15 11:34+0200\n"
"Last-Translator: Gediminas Paulauskas <menesis@delfi.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Nautilus for latvian\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-08-27 01:01GMT+0020\n"
"Last-Translator: Pēteris Krišjānis <peteris.krisjanis@os.lv>\n"
"Language-Team: Latvian <ll10nt@os.lv>\n"

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Nautilus HEAD\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-11-05 19:47+0800\n"
"Last-Translator: Hasbullah Bin Pit <sebol@ikhlas.com>\n"
"Language-Team: Projek Gabai <gabai-penyumbang@lists.sourceforge.org>\n"

View file

@ -13,7 +13,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Nautilus\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-12-04 23:48+0100\n"
"Last-Translator: Reinout van Schouwen <reinout@cs.vu.nl>\n"
"Language-Team: Dutch <vertaling@nl.linux.org>\n"

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Nautilus 1.0.6\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2001-12-14 13:29+0100\n"
"Last-Translator: Roy-Magne Mo <rmo@sunnmore.net>\n"
"Language-Team: Norwegian Nynorsk <nn@li.org>\n"

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Nautilus 0.2\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-12-07 22:37+0100\n"
"Last-Translator: Kjartan Maraas <kmaraas@online.no>\n"
"Language-Team: Norwegian <no@li.org>\n"

View file

@ -9,7 +9,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-08-16 20:12+0200\n"
"Last-Translator: GNOME PL Team <translators@gnome.pl>\n"
"Language-Team: Polish <pl@li.org>\n"

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: 2.0\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-08-17 17:35+0000\n"
"Last-Translator: Duarte Loreto <happyguy_pt@hotmail.com>\n"
"Language-Team: Portuguese <gnome_pt@yahoogroups.com>\n"

View file

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus 1.0.5\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-11-30 04:01-0300\n"
"Last-Translator: Evandro Fernandes Giovanini <evandrofg@ig.com.br>\n"
"Language-Team: Brazilian Portuguese <gnome-l10n-br@listas.cipsga.org.br>\n"

View file

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus 2.2\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-12-03 21:56+0200\n"
"Last-Translator: Marius Andreiana <marius galuna.ro>\n"
"Language-Team: Română <ro@li.org>\n"

View file

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Nautilus\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-08-16 10:33+04:00\n"
"Last-Translator: Dmitry G. Mastrukov <dmitry@taurussoft.org>\n"
"Language-Team: Russian <gnome-cyr@gnome.org>\n"

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: sk\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-08-09 17:32+0200\n"
"Last-Translator: Stanislav Visnovsky <visnovsky@nenya.ms.mff.cuni.cz>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2000-07-07 12:30+0200\n"
"Last-Translator: Andraz Tori <andraz.tori1@guest.arnes.si>\n"
"Language-Team: Slovenian <sl@li.org>\n"

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Nautilus 2.x\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-12-12 15:13+0100\n"
"Last-Translator: Laurent Dhima <laurenti@alblinux.net>\n"
"Language-Team: albanian < gnome-albanian-perkthyesit@lists.sourceforge.net>\n"

View file

@ -10,7 +10,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-12-03 22:02+0100\n"
"Last-Translator: Christian Rose <menthos@menthos.com>\n"
"Language-Team: Swedish <sv@li.org>\n"

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus VERSION\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-12-09 13:55+0100\n"
"Last-Translator: Unknown :-(\n"
"Language-Team: Tamil\n"

View file

@ -9,7 +9,7 @@
msgid ""
msgstr ""
"Project-Id-Version: tr\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-07-28 19:57+0000\n"
"Last-Translator: Görkem Çetin <gorkem@gelecek.com.tr>\n"
"Language-Team: Turkish <gnome-turk@gnome.org>\n"

View file

@ -4,7 +4,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-12-03 11:13--500\n"
"Last-Translator: Yuriy Syrota <yuri@renome.rovno.ua>\n"
"Language-Team: Ukrainian <uk@li.org>\n"

View file

@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: Nautilus v- 2.x.x\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-12-14 22:39+0700\n"
"Last-Translator: Trinh Minh Thanh <tmthanh@linuxmail.org>\n"
"Language-Team: Gnome-Vi Team <Gnomevi-list@lists.sourceforge.net>\n"

View file

@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-09-06 11:28+1000\n"
"Last-Translator: Sarah Smith <sarahs@redhat.com>\n"
"Language-Team: Simplified Chinese <i18n@redhat.com>\n"

View file

@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: nautilus 1.1.17\n"
"POT-Creation-Date: 2002-12-16 16:18+0100\n"
"POT-Creation-Date: 2002-12-18 10:04+0100\n"
"PO-Revision-Date: 2002-05-21 16:08+0800\n"
"Last-Translator: Abel Cheung <maddog@linux.org.hk>\n"
"Language-Team: traditional Chinese <zh-l10n@linux.org.tw>\n"

View file

@ -1,639 +0,0 @@
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* nautilus-preferences-dialog.c - Nautilus shell specific preferences things.
Copyright (C) 1999, 2000, 2001 Eazel, Inc.
The Gnome Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public License as
published by the Free Software Foundation; either version 2 of the
License, or (at your option) any later version.
The Gnome Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with the Gnome Library; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
Authors: Ramiro Estrugo <ramiro@eazel.com>
*/
#include <config.h>
#include "nautilus-preferences-dialog.h"
#include "nautilus-theme-selector.h"
#include <libnautilus-private/nautilus-global-preferences.h>
#include <libnautilus-private/nautilus-sidebar-functions.h>
#include <libnautilus-private/egg-screen-help.h>
#include <eel/eel-debug.h>
#include <eel/eel-gtk-extensions.h>
#include <eel/eel-preferences-box.h>
#include <gtk/gtkdialog.h>
#include <gtk/gtksignal.h>
#include <gtk/gtkmessagedialog.h>
#include <gtk/gtkstock.h>
#include <libgnome/gnome-i18n.h>
#include <libgnome/gnome-util.h>
#include <libgnome/gnome-help.h>
#include <eel/eel-string.h>
/*
* This file contains the description of the preferences dialog in
* Nautilus. If you would like to add an item to the Nautilus
* preference dialog, you might want to follow this procedure:
*
* 1. Info Coming Soon.
*
*/
static void preferences_dialog_populate_sidebar_tabs_group (EelPreferencesGroup *group);
static void preferences_dialog_populate_themes_group (EelPreferencesGroup *group);
static GtkWidget *preferences_dialog;
static EelPreferencesItemDescription appearance_items[] = {
{ N_("Themes"),
NULL,
NULL,
0,
NULL,
0,
0,
preferences_dialog_populate_themes_group
},
{ NULL }
};
static EelPreferencesItemDescription windows_items[] = {
{ N_("New Window Behavior"),
NAUTILUS_PREFERENCES_WINDOW_ALWAYS_NEW,
N_("_Open each file or folder in a new window"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ N_("New Window Display"),
NAUTILUS_PREFERENCES_START_WITH_SIDEBAR,
N_("Display _side pane"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ N_("New Window Display"),
NAUTILUS_PREFERENCES_START_WITH_TOOLBAR,
N_("Display _toolbar"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ N_("New Window Display"),
NAUTILUS_PREFERENCES_START_WITH_LOCATION_BAR,
N_("Display location _bar"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ N_("New Window Display"),
NAUTILUS_PREFERENCES_START_WITH_STATUS_BAR,
N_("Display st_atusbar"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ NULL }
};
static EelPreferencesItemDescription desktop_and_trash_items[] = {
{ N_("Desktop"),
NAUTILUS_PREFERENCES_SHOW_DESKTOP,
N_("_Use Nautilus to draw the desktop"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ N_("Desktop"),
NAUTILUS_PREFERENCES_DESKTOP_IS_HOME_DIR,
N_("Use your _home folder as the desktop"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ N_("Trash Behavior"),
NAUTILUS_PREFERENCES_CONFIRM_TRASH,
N_("_Ask before emptying the Trash or deleting files"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ N_("Trash Behavior"),
NAUTILUS_PREFERENCES_ENABLE_DELETE,
N_("_Include a Delete command that bypasses Trash"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ NULL }
};
static EelPreferencesItemDescription directory_views_items[] = {
{ N_("Click Behavior"),
NAUTILUS_PREFERENCES_CLICK_POLICY,
N_("Click Behavior"),
EEL_PREFERENCE_ITEM_ENUMERATION_VERTICAL_RADIO
},
{ N_("Executable Text Files"),
NAUTILUS_PREFERENCES_EXECUTABLE_TEXT_ACTIVATION,
N_("Executable Text Files"),
EEL_PREFERENCE_ITEM_ENUMERATION_VERTICAL_RADIO
},
{ N_("Show Options"),
NAUTILUS_PREFERENCES_SHOW_HIDDEN_FILES,
N_("_Hidden files (filenames starting with \".\")"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ N_("Show Options"),
NAUTILUS_PREFERENCES_SHOW_BACKUP_FILES,
N_("_Backup files (filenames ending with \"~\")"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ N_("Show Options"),
NAUTILUS_PREFERENCES_SHOW_SPECIAL_FLAGS,
N_("Special flags in _Properties dialog"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ N_("Sort"),
NAUTILUS_PREFERENCES_SORT_DIRECTORIES_FIRST,
N_("Fo_lders before files"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ NULL }
};
static EelPreferencesItemDescription icon_captions_items[] = {
{ N_("Icon Captions"),
NAUTILUS_PREFERENCES_ICON_VIEW_CAPTIONS,
N_("Choose the order for information to appear beneath icon names.\n"
"More information appears as you zoom in closer"),
EEL_PREFERENCE_ITEM_ENUMERATION_LIST_VERTICAL,
NULL,
0,
0,
NULL,
"none"
},
{ NULL }
};
static EelPreferencesItemDescription view_preferences_items[] = {
{ N_("Default View"),
NAUTILUS_PREFERENCES_DEFAULT_FOLDER_VIEWER,
N_("_View new folders using:"),
EEL_PREFERENCE_ITEM_ENUMERATION_MENU
},
/* Icon View Defaults */
{ N_("Icon View Defaults"),
NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_SORT_ORDER_OR_MANUAL_LAYOUT,
N_("_Arrange items:"),
EEL_PREFERENCE_ITEM_ENUMERATION_MENU
},
{ N_("Icon View Defaults"),
NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_SORT_IN_REVERSE_ORDER,
N_("_Sort in reverse"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ N_("Icon View Defaults"),
NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_ZOOM_LEVEL,
N_("_Default zoom level:"),
EEL_PREFERENCE_ITEM_ENUMERATION_MENU,
NULL, 0, 1
},
{ N_("Icon View Defaults"),
NAUTILUS_PREFERENCES_ICON_VIEW_DEFAULT_USE_TIGHTER_LAYOUT,
N_("Use co_mpact layout"),
EEL_PREFERENCE_ITEM_BOOLEAN,
NULL, 0, 1
},
/* List View Defaults */
{ N_("List View Defaults"),
NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_SORT_ORDER,
N_("Arrange _items:"),
EEL_PREFERENCE_ITEM_ENUMERATION_MENU
},
{ N_("List View Defaults"),
NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_SORT_IN_REVERSE_ORDER,
N_("Sort in _reverse"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ N_("List View Defaults"),
NAUTILUS_PREFERENCES_LIST_VIEW_DEFAULT_ZOOM_LEVEL,
N_("Default _zoom level:"),
EEL_PREFERENCE_ITEM_ENUMERATION_MENU,
NULL, 0, 1
},
{ N_("List View Defaults"),
"dummy-string",
NULL,
EEL_PREFERENCE_ITEM_PADDING,
NULL, 0, 1
},
{ NULL }
};
#ifdef HAVE_MEDUSA
static EelPreferencesItemDescription search_items[] = {
{ N_("Search Complexity Options"),
NAUTILUS_PREFERENCES_SEARCH_BAR_TYPE,
N_("search type to do by default"),
EEL_PREFERENCE_ITEM_ENUMERATION_VERTICAL_RADIO
},
{ NULL }
};
#endif
#ifdef WEB_NAVIGATION_ENABLED
static EelPreferencesItemDescription navigation_items[] = {
{ N_("Home"),
NAUTILUS_PREFERENCES_HOME_URI,
N_("_Location:"),
EEL_PREFERENCE_ITEM_EDITABLE_STRING
},
{ N_("Built-in Bookmarks"),
NAUTILUS_PREFERENCES_HIDE_BUILT_IN_BOOKMARKS,
N_("_Don't include the built-in bookmarks in the Bookmarks menu"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ NULL }
};
#endif
static const char *show_text_descriptions[] = {
N_("Always show text in icons"),
N_("Show text in icons for local files"),
N_("Never show text in icons")
};
static const char *show_count_descriptions[] = {
N_("Always show the number of items in folders"),
N_("Show the number of items in local folders"),
N_("Never show the number of items in folders")
};
static const char *show_thumbnail_descriptions[] = {
N_("Always show thumbnails"),
N_("Show thumbnails for local files"),
N_("Never show thumbnails")
};
static const char *preview_sound_descriptions[] = {
N_("Always preview sound files"),
N_("Preview local sound files"),
N_("Never preview sound files")
};
static EelPreferencesItemDescription tradeoffs_items[] = {
{ N_("Show Text in Icons"),
NAUTILUS_PREFERENCES_SHOW_TEXT_IN_ICONS,
NULL,
EEL_PREFERENCE_ITEM_ENUMERATION_HORIZONTAL_RADIO,
NULL,
0,
0,
NULL,
NULL,
NULL,
G_N_ELEMENTS (show_text_descriptions),
show_text_descriptions
},
{ N_("Show Number of Items in Folders"),
NAUTILUS_PREFERENCES_SHOW_DIRECTORY_ITEM_COUNTS,
NULL,
EEL_PREFERENCE_ITEM_ENUMERATION_HORIZONTAL_RADIO,
NULL,
0,
0,
NULL,
NULL,
NULL,
G_N_ELEMENTS (show_count_descriptions),
show_count_descriptions
},
{ N_("Show Thumbnails for Image Files"),
NAUTILUS_PREFERENCES_SHOW_IMAGE_FILE_THUMBNAILS,
NULL,
EEL_PREFERENCE_ITEM_ENUMERATION_HORIZONTAL_RADIO,
NULL,
0,
0,
NULL,
NULL,
NULL,
G_N_ELEMENTS (show_thumbnail_descriptions),
show_thumbnail_descriptions
},
{ N_("Show Thumbnails for Image Files"),
NAUTILUS_PREFERENCES_IMAGE_FILE_THUMBNAIL_LIMIT,
N_("_Do not make thumbnails for files larger than:"),
EEL_PREFERENCE_ITEM_ENUMERATION_MENU_INTEGER
},
{ N_("Preview Sound Files"),
NAUTILUS_PREFERENCES_PREVIEW_SOUND,
NULL,
EEL_PREFERENCE_ITEM_ENUMERATION_HORIZONTAL_RADIO,
NULL,
0,
0,
NULL,
NULL,
NULL,
G_N_ELEMENTS (preview_sound_descriptions),
preview_sound_descriptions
},
{ NULL }
};
static EelPreferencesItemDescription sidebar_items[] = {
{ N_("Tabs"),
NULL,
NULL,
0,
NULL,
0,
0,
preferences_dialog_populate_sidebar_tabs_group,
},
{ N_("Tree"),
NAUTILUS_PREFERENCES_TREE_SHOW_ONLY_DIRECTORIES,
N_("_Show folders only"),
EEL_PREFERENCE_ITEM_BOOLEAN
},
{ NULL }
};
#ifdef NEWS_SIDEBAR_ENABLED
static EelPreferencesItemDescription news_panel_items[] = {
{ N_("Maximum items per site"),
NAUTILUS_PREFERENCES_NEWS_MAX_ITEMS,
N_("_Maximum number of items displayed per site"),
EEL_PREFERENCE_ITEM_EDITABLE_INTEGER
},
{ N_("Update Minutes"),
NAUTILUS_PREFERENCES_NEWS_UPDATE_INTERVAL,
N_("_Update frequency in minutes"),
EEL_PREFERENCE_ITEM_EDITABLE_INTEGER
},
{ NULL }
};
#endif
static EelPreferencesPaneDescription panes[] = {
{ N_("Views"), view_preferences_items },
{ N_("Appearance"), appearance_items },
{ N_("Windows"), windows_items },
{ N_("Desktop & Trash"), desktop_and_trash_items },
{ N_("Icon & List Views"), directory_views_items },
{ N_("Icon Captions"), icon_captions_items },
{ N_("Side Panes"), sidebar_items },
#ifdef HAVE_MEDUSA
{ N_("Search"), search_items },
#endif
#ifdef WEB_NAVIGATION_ENABLED
{ N_("Navigation"), navigation_items },
#endif
{ N_("Performance"), tradeoffs_items },
#ifdef NEWS_SIDEBAR_ENABLED
{ N_("News Panel"), news_panel_items },
#endif
{ NULL }
};
static gboolean
dialog_delete_event_callback (GtkWidget *widget,
GdkEventAny *event,
gpointer user_data)
{
gtk_widget_hide (widget);
return TRUE;
}
static void
preferences_show_help (GtkWindow *parent,
char const *helpfile,
char const *sect_id)
{
GError *error = NULL;
GtkWidget *dialog;
g_return_if_fail (helpfile != NULL);
g_return_if_fail (sect_id != NULL);
egg_screen_help_display_desktop (
gtk_window_get_screen (parent),
NULL, "user-guide", helpfile, sect_id, &error);
if (error) {
dialog = gtk_message_dialog_new (GTK_WINDOW (parent),
GTK_DIALOG_DESTROY_WITH_PARENT,
GTK_MESSAGE_ERROR,
GTK_BUTTONS_CLOSE,
_("There was an error displaying help: \n%s"),
error->message);
g_signal_connect (G_OBJECT (dialog),
"response", G_CALLBACK (gtk_widget_destroy),
NULL);
gtk_window_set_resizable (GTK_WINDOW (dialog), FALSE);
gtk_widget_show (dialog);
g_error_free (error);
}
}
static void
dialog_button_response_callback (GtkDialog *dialog,
int response_id,
gpointer callback_data)
{
EelPreferencesBox *preferences_box;
char *active_pane;
if (response_id == GTK_RESPONSE_HELP) {
preferences_box = eel_preferences_dialog_get_box (GTK_WINDOW (dialog));
active_pane = eel_preferences_box_get_active_pane (preferences_box);
if (eel_str_is_equal (active_pane, "Views"))
preferences_show_help (GTK_WINDOW (dialog), "wgosnautilus.xml", "gosnautilus-438");
else if (eel_str_is_equal (active_pane, "Appearance"))
preferences_show_help (GTK_WINDOW (dialog), "wgosnautilus.xml", "gosnautilus-54");
else if (eel_str_is_equal (active_pane, "Windows"))
preferences_show_help (GTK_WINDOW (dialog), "wgosnautilus.xml", "gosnautilus-55");
else if (eel_str_is_equal (active_pane, "Desktop & Trash"))
preferences_show_help (GTK_WINDOW (dialog), "wgosnautilus.xml", "gosnautilus-448");
else if (eel_str_is_equal (active_pane, "Icon & List Views"))
preferences_show_help (GTK_WINDOW (dialog), "wgosnautilus.xml", "gosnautilus-56");
else if (eel_str_is_equal (active_pane, "Icon Captions"))
preferences_show_help (GTK_WINDOW (dialog), "wgosnautilus.xml", "gosnautilus-439");
else if (eel_str_is_equal (active_pane, "Side Panes"))
preferences_show_help (GTK_WINDOW (dialog), "wgosnautilus.xml", "gosnautilus-57");
else if (eel_str_is_equal (active_pane,"Navigation"))
preferences_show_help (GTK_WINDOW (dialog), "wgosnautilus.xml", "gosnautilus-59");
else if (eel_str_is_equal (active_pane, "Performance"))
preferences_show_help (GTK_WINDOW (dialog), "wgosnautilus.xml", "gosnautilus-60");
g_free (active_pane);
} else {
gtk_widget_hide (GTK_WIDGET (dialog));
}
}
static GtkWidget *
preferences_dialog_create (void)
{
GtkWidget *dialog;
dialog = eel_preferences_dialog_new (_("Preferences"), panes);
g_assert (GTK_IS_DIALOG (dialog));
gtk_window_set_wmclass (GTK_WINDOW (dialog), "nautilus_preferences", "Nautilus");
gtk_dialog_add_button (GTK_DIALOG (dialog), GTK_STOCK_HELP,
GTK_RESPONSE_HELP);
g_signal_connect (dialog, "delete_event",
G_CALLBACK (dialog_delete_event_callback), dialog);
g_signal_connect (dialog, "response",
G_CALLBACK (dialog_button_response_callback), dialog);
return dialog;
}
static void
global_preferences_populate_sidebar_panels_callback (const char *name,
const char *iid,
const char *preference_key,
gpointer callback_data)
{
g_return_if_fail (name != NULL);
g_return_if_fail (iid != NULL);
g_return_if_fail (preference_key != NULL);
g_return_if_fail (EEL_IS_PREFERENCES_GROUP (callback_data));
eel_preferences_set_description (preference_key, name);
eel_preferences_group_add_item (EEL_PREFERENCES_GROUP (callback_data),
preference_key,
EEL_PREFERENCE_ITEM_BOOLEAN,
0);
}
static void
preferences_dialog_populate_sidebar_tabs_group (EelPreferencesGroup *group)
{
g_return_if_fail (EEL_IS_PREFERENCES_GROUP (group));
nautilus_sidebar_for_each_panel (global_preferences_populate_sidebar_panels_callback, group);
}
/* Callback for when the user chooses a new theme from the list */
static void
theme_changed_callback (NautilusThemeSelector *theme_selector,
gpointer callback_data)
{
char *selected_theme;
g_return_if_fail (NAUTILUS_IS_THEME_SELECTOR (theme_selector));
selected_theme = nautilus_theme_selector_get_selected_theme (NAUTILUS_THEME_SELECTOR (theme_selector));
/* We ignore a NULL selected theme, which can happen when the dialog
is being destroyed. */
if (selected_theme == NULL)
return;
eel_preferences_set (NAUTILUS_PREFERENCES_THEME, selected_theme);
g_free (selected_theme);
}
/* PreferenceItem callback for when its time to update the theme chooser
* with the theme currently stored in preferences
*/
static void
update_theme_selector_displayed_value_callback (EelPreferencesItem *item,
gpointer callback_data)
{
char *current_theme_name;
g_return_if_fail (EEL_IS_PREFERENCES_ITEM (item));
g_return_if_fail (NAUTILUS_IS_THEME_SELECTOR (callback_data));
current_theme_name = eel_preferences_get (NAUTILUS_PREFERENCES_THEME);
nautilus_theme_selector_set_selected_theme (NAUTILUS_THEME_SELECTOR (callback_data),
current_theme_name);
g_free (current_theme_name);
}
static void
preferences_dialog_populate_themes_group (EelPreferencesGroup *group)
{
GtkWidget *item;
GtkWidget *child;
GtkWidget *parent_window;
g_return_if_fail (EEL_IS_PREFERENCES_GROUP (group));
child = nautilus_theme_selector_new ();
gtk_widget_set_size_request (child, -1, 300);
parent_window = gtk_widget_get_ancestor (GTK_WIDGET (group), GTK_TYPE_WINDOW);
if (GTK_IS_WINDOW (parent_window)) {
nautilus_theme_selector_set_parent_window (NAUTILUS_THEME_SELECTOR (child),
GTK_WINDOW (parent_window));
}
item = eel_preferences_group_add_custom_item (group,
NAUTILUS_PREFERENCES_THEME,
child,
"theme_changed",
0);
/* Keep track of theme chooser changes */
g_signal_connect (child, "theme_changed",
G_CALLBACK (theme_changed_callback), NULL);
/* Have the custom preferences item tell us when its time to update the displayed
* with with the one stored in preferences
*/
g_signal_connect_object (item, "custom_update_displayed_value",
G_CALLBACK (update_theme_selector_displayed_value_callback), child, 0);
update_theme_selector_displayed_value_callback (EEL_PREFERENCES_ITEM (item), child);
}
static void
preferences_dialog_destroy (void)
{
if (preferences_dialog == NULL) {
return;
}
/* Since it's a top-level window, it's OK to destroy rather than unref'ing. */
gtk_widget_destroy (preferences_dialog);
preferences_dialog = NULL;
}
static GtkWidget *
global_preferences_get_dialog (void)
{
nautilus_global_preferences_init ();
if (preferences_dialog == NULL) {
preferences_dialog = preferences_dialog_create ();
eel_debug_call_at_shutdown (preferences_dialog_destroy);
}
g_assert (GTK_IS_DIALOG (preferences_dialog));
return preferences_dialog;
}
void
nautilus_preferences_dialog_show (GdkScreen *screen)
{
GtkWindow *dialog;
dialog = GTK_WINDOW (global_preferences_get_dialog ());
gtk_window_set_screen (dialog, screen);
gtk_window_present (dialog);
}

View file

@ -1,37 +0,0 @@
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/* nautilus-preferences-dialog.h - Nautilus shell specific preferences things.
Copyright (C) 2001 Eazel, Inc.
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU Library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this program; see the file COPYING.LIB. If not,
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
Authors: Ramiro Estrugo <ramiro@eazel.com>
*/
#ifndef NAUTILUS_PREFERENCES_DIALOG_H
#define NAUTILUS_PREFERENCES_DIALOG_H
#include <gdk/gdk.h>
#include <libnautilus-private/nautilus-global-preferences.h>
G_BEGIN_DECLS
void nautilus_preferences_dialog_show (GdkScreen *screen);
G_END_DECLS
#endif /* NAUTILUS_PREFERENCES_DIALOG_H */

View file

@ -1,613 +0,0 @@
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/*
* Nautilus
*
* Copyright (C) 2000, 2001 Eazel, Inc.
*
* Nautilus 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.
*
* Nautilus 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Authors: Andy Hertzfeld <andy@eazel.com>
* Ramiro Estrugo <ramiro@eazel.com>
*/
/* nautilus-theme-selector.c - Nautilus theme selector widget. */
#include <config.h>
#include "nautilus-theme-selector.h"
#include <eel/eel-art-gtk-extensions.h>
#include <eel/eel-image-chooser.h>
#include <eel/eel-stock-dialogs.h>
#include <eel/eel-string.h>
#include <gtk/gtkalignment.h>
#include <gtk/gtkfilesel.h>
#include <gtk/gtkhbox.h>
#include <gtk/gtkimage.h>
#include <gtk/gtkscrolledwindow.h>
#include <gtk/gtkstock.h>
#include <libgnome/gnome-i18n.h>
#include <libgnome/gnome-macros.h>
#include <libnautilus-private/nautilus-global-preferences.h>
#include <libnautilus-private/nautilus-theme.h>
#define NUM_VISIBLE_THEMES 3
#define DEFAULT_THEME_NAME "default"
#define THEME_SELECTOR_DATA_KEY "nautilus-theme-selector"
struct NautilusThemeSelectorDetails
{
GtkWidget *help_label;
GtkWidget *install_theme_button;
GtkWidget *remove_theme_button;
GtkWidget *cancel_remove_button;
EelImageChooser *theme_selector;
EelImageChooser *remove_theme_selector;
GtkWidget *scrolled_window;
GtkWidget *remove_scrolled_window;
gulong remove_theme_selector_changed_connection;
GtkWindow *parent_window;
guint remove_idle_id;
};
typedef struct
{
EelImageChooser *image_chooser;
gboolean include_builtin;
} ForEachThemeData;
enum
{
THEME_CHANGED,
LAST_SIGNAL
};
static guint signals[LAST_SIGNAL];
static void theme_selector_populate_list (EelImageChooser *image_chooser,
GtkWidget *scrolled_window,
gboolean include_builtin);
static void theme_selector_update_remove_theme_button (NautilusThemeSelector *theme_selector);
static void theme_selector_update_selected_theme_from_preferences (NautilusThemeSelector *theme_selector);
GNOME_CLASS_BOILERPLATE (NautilusThemeSelector, nautilus_theme_selector,
GtkVBox, GTK_TYPE_VBOX)
static void
make_widgets_same_size (GtkWidget *one, GtkWidget *two)
{
EelDimensions one_dimensions;
EelDimensions two_dimensions;
g_return_if_fail (GTK_IS_WIDGET (one));
g_return_if_fail (GTK_IS_WIDGET (two));
one_dimensions = eel_gtk_widget_get_preferred_dimensions (one);
two_dimensions = eel_gtk_widget_get_preferred_dimensions (two);
gtk_widget_set_size_request (one,
MAX (one_dimensions.width, two_dimensions.width),
MAX (one_dimensions.height, two_dimensions.height));
gtk_widget_set_size_request (two,
MAX (one_dimensions.width, two_dimensions.width),
MAX (one_dimensions.height, two_dimensions.height));
}
static void
theme_selector_update_help_label (NautilusThemeSelector *theme_selector,
gboolean removing)
{
if (removing) {
gtk_label_set_text (GTK_LABEL (theme_selector->details->help_label),
_("Click on a theme to remove it."));
} else {
gtk_label_set_text (GTK_LABEL (theme_selector->details->help_label),
_("Click on a theme to change the appearance of Nautilus."));
}
}
static void
file_selection_ok_clicked_callback (GtkWidget *button,
gpointer callback_data)
{
NautilusThemeSelector *theme_selector;
const char *selected_path;
NautilusThemeInstallResult result;
char *message;
theme_selector = NAUTILUS_THEME_SELECTOR (g_object_get_data (G_OBJECT (callback_data),
THEME_SELECTOR_DATA_KEY));
selected_path = gtk_file_selection_get_filename (GTK_FILE_SELECTION (callback_data));
result = nautilus_theme_install_user_theme (selected_path);
switch (result) {
case NAUTILUS_THEME_INSTALL_NOT_A_THEME_DIRECTORY:
message = g_strdup_printf (_("Sorry, but \"%s\" is not a valid theme folder."),
selected_path);
eel_show_error_dialog (message, _("Couldn't add theme"),
theme_selector->details->parent_window);
g_free (message);
break;
case NAUTILUS_THEME_INSTALL_FAILED_USER_THEMES_DIRECTORY_CREATION:
case NAUTILUS_THEME_INSTALL_FAILED:
message = g_strdup_printf (_("Sorry, but the \"%s\" theme couldn't be installed."),
selected_path);
eel_show_error_dialog (message, _("Couldn't install theme"),
theme_selector->details->parent_window);
g_free (message);
break;
case NAUTILUS_THEME_INSTALL_NOT_A_THEME_FILE:
message = g_strdup_printf (_("Sorry, but \"%s\" is not a valid theme file."),
selected_path);
eel_show_error_dialog (message, _("Couldn't add theme"),
theme_selector->details->parent_window);
g_free (message);
break;
case NAUTILUS_THEME_INSTALL_OK:
/* Re populate the theme lists to match the stored state */
theme_selector_populate_list (theme_selector->details->theme_selector,
theme_selector->details->scrolled_window,
TRUE);
theme_selector_update_selected_theme_from_preferences (theme_selector);
theme_selector_populate_list (theme_selector->details->remove_theme_selector,
theme_selector->details->remove_scrolled_window,
FALSE);
/* Update the showing state of the remove button */
theme_selector_update_remove_theme_button (theme_selector);
break;
}
gtk_object_destroy (GTK_OBJECT (callback_data));
}
static void
file_selection_cancel_clicked_callback (GtkWidget *button,
gpointer callback_data)
{
gtk_object_destroy (GTK_OBJECT (callback_data));
}
static void
install_theme_button_clicked_callback (GtkWidget *button,
gpointer callback_data)
{
NautilusThemeSelector *theme_selector;
GtkWidget *file_selection_dialog;
theme_selector = NAUTILUS_THEME_SELECTOR (callback_data);
file_selection_dialog = gtk_file_selection_new (_("Select a theme folder to add as a new theme:"));
g_object_set_data (G_OBJECT (file_selection_dialog),
THEME_SELECTOR_DATA_KEY,
callback_data);
g_signal_connect_object (GTK_FILE_SELECTION (file_selection_dialog)->ok_button, "clicked",
G_CALLBACK (file_selection_ok_clicked_callback),
file_selection_dialog, 0);
g_signal_connect_object (GTK_FILE_SELECTION (file_selection_dialog)->cancel_button, "clicked",
G_CALLBACK (file_selection_cancel_clicked_callback),
file_selection_dialog, 0);
gtk_window_set_position (GTK_WINDOW (file_selection_dialog), GTK_WIN_POS_MOUSE);
if (theme_selector->details->parent_window != NULL) {
gtk_window_set_transient_for (GTK_WINDOW (file_selection_dialog),
theme_selector->details->parent_window);
}
gtk_window_set_wmclass (GTK_WINDOW (file_selection_dialog), "file_selector", "Nautilus");
gtk_widget_show (GTK_WIDGET (file_selection_dialog));
}
static void
remove_theme_button_clicked_callback (GtkWidget *button,
gpointer callback_data)
{
NautilusThemeSelector *theme_selector;
g_return_if_fail (GTK_IS_BUTTON (button));
g_return_if_fail (NAUTILUS_IS_THEME_SELECTOR (callback_data));
theme_selector = NAUTILUS_THEME_SELECTOR (callback_data);
theme_selector_update_help_label (theme_selector, TRUE);
gtk_widget_hide (theme_selector->details->scrolled_window);
gtk_widget_show (theme_selector->details->remove_scrolled_window);
gtk_widget_show (theme_selector->details->cancel_remove_button);
gtk_widget_hide (theme_selector->details->install_theme_button);
gtk_widget_hide (theme_selector->details->remove_theme_button);
}
static void
theme_selector_finish_remove (NautilusThemeSelector *theme_selector)
{
g_return_if_fail (NAUTILUS_IS_THEME_SELECTOR (theme_selector));
theme_selector_update_help_label (theme_selector, FALSE);
gtk_widget_show (theme_selector->details->scrolled_window);
gtk_widget_hide (theme_selector->details->remove_scrolled_window);
gtk_widget_hide (theme_selector->details->cancel_remove_button);
gtk_widget_show (theme_selector->details->install_theme_button);
theme_selector_update_remove_theme_button (theme_selector);
eel_image_chooser_set_selected_row (theme_selector->details->remove_theme_selector, -1);
}
static gboolean
theme_selector_has_user_themes (NautilusThemeSelector *theme_selector)
{
return eel_image_chooser_get_num_rows (theme_selector->details->remove_theme_selector) > 0;
}
static void
theme_selector_update_remove_theme_button (NautilusThemeSelector *theme_selector)
{
eel_gtk_widget_set_shown (theme_selector->details->remove_theme_button,
theme_selector_has_user_themes (theme_selector));
}
static void
cancel_remove_button_clicked_callback (GtkWidget *button,
gpointer callback_data)
{
theme_selector_finish_remove (NAUTILUS_THEME_SELECTOR (callback_data));
}
static gboolean
remove_theme_selector_idle_callback (gpointer callback_data)
{
NautilusThemeSelector *theme_selector;
int theme_to_remove_position;
char *theme_to_remove;
char *selected_theme;
GnomeVFSResult remove_result;
theme_selector = NAUTILUS_THEME_SELECTOR (callback_data);
theme_selector->details->remove_idle_id = 0;
theme_to_remove_position = eel_image_chooser_get_selected_row (theme_selector->details->remove_theme_selector);
if (theme_to_remove_position < 0) {
return FALSE;
}
theme_to_remove = g_strdup (eel_image_chooser_get_row_data (theme_selector->details->remove_theme_selector,
theme_to_remove_position));
g_signal_handler_block (theme_selector->details->remove_theme_selector,
theme_selector->details->remove_theme_selector_changed_connection);
theme_selector_finish_remove (theme_selector);
g_signal_handler_unblock (theme_selector->details->remove_theme_selector,
theme_selector->details->remove_theme_selector_changed_connection);
selected_theme = nautilus_theme_selector_get_selected_theme (theme_selector);
/* Don't allow the current theme to be deleted */
if (eel_str_is_equal (selected_theme, theme_to_remove)) {
eel_show_error_dialog (_("Sorry, but you can't remove the current theme. "
"Please change to another theme before removing this one."),
_("Can't delete current theme"),
theme_selector->details->parent_window);
goto done;
}
remove_result = nautilus_theme_remove_user_theme (theme_to_remove);
if (remove_result != GNOME_VFS_OK) {
eel_show_error_dialog (_("Sorry, but that theme could not be removed!"),
_("Couldn't remove theme"), NULL);
}
/* Re populate the theme lists to match the stored state */
theme_selector_populate_list (theme_selector->details->theme_selector,
theme_selector->details->scrolled_window,
TRUE);
theme_selector_update_selected_theme_from_preferences (theme_selector);
theme_selector_populate_list (theme_selector->details->remove_theme_selector,
theme_selector->details->remove_scrolled_window,
FALSE);
/* Update the showing state of the remove button */
theme_selector_update_remove_theme_button (theme_selector);
done:
g_free (selected_theme);
g_free (theme_to_remove);
return FALSE;
}
static void
remove_theme_selector_changed_callback (EelImageChooser *image_chooser,
gpointer callback_data)
{
NautilusThemeSelector *theme_selector;
theme_selector = NAUTILUS_THEME_SELECTOR (callback_data);
if (theme_selector->details->remove_idle_id == 0) {
theme_selector->details->remove_idle_id = g_idle_add
(remove_theme_selector_idle_callback, theme_selector);
}
}
static void
theme_selector_changed_callback (EelImageChooser *image_chooser,
gpointer callback_data)
{
g_signal_emit (callback_data, signals[THEME_CHANGED], 0, NULL);
}
static void
theme_selector_finalize (GObject *object)
{
NautilusThemeSelector *theme_selector;
theme_selector = NAUTILUS_THEME_SELECTOR (object);
if (theme_selector->details->remove_idle_id != 0) {
g_source_remove (theme_selector->details->remove_idle_id);
}
g_free (theme_selector->details);
G_OBJECT_CLASS (parent_class)->finalize (object);
}
static void
for_each_theme_callback (const char *name,
const char *path,
const char *display_name,
const char *description,
GdkPixbuf *preview_pixbuf,
gboolean builtin,
gpointer callback_data)
{
ForEachThemeData *data;
data = callback_data;
if (!data->include_builtin && builtin) {
return;
}
eel_image_chooser_insert_row (data->image_chooser,
preview_pixbuf,
display_name,
description,
g_strdup (name),
g_free);
}
static void
theme_selector_populate_list (EelImageChooser *image_chooser,
GtkWidget *scrolled_window,
gboolean include_builtin)
{
ForEachThemeData data;
eel_image_chooser_clear (image_chooser);
data.image_chooser = image_chooser;
data.include_builtin = include_builtin;
nautilus_theme_for_each_theme (for_each_theme_callback, &data);
eel_scrolled_image_chooser_set_num_visible_rows (image_chooser,
scrolled_window,
NUM_VISIBLE_THEMES);
eel_scrolled_image_chooser_show_selected_row (image_chooser, scrolled_window);
}
static void
theme_selector_update_selected_theme_from_preferences (NautilusThemeSelector *theme_selector)
{
char *theme_name;
theme_name = eel_preferences_get (NAUTILUS_PREFERENCES_THEME);
nautilus_theme_selector_set_selected_theme (theme_selector, theme_name);
g_free (theme_name);
eel_scrolled_image_chooser_show_selected_row (theme_selector->details->theme_selector,
theme_selector->details->scrolled_window);
}
GtkWidget *
nautilus_theme_selector_new (void)
{
return gtk_widget_new (NAUTILUS_TYPE_THEME_SELECTOR, NULL);
}
char *
nautilus_theme_selector_get_selected_theme (NautilusThemeSelector *theme_selector)
{
const char *theme_name;
int selected_row_position;
g_return_val_if_fail (NAUTILUS_IS_THEME_SELECTOR (theme_selector), NULL);
selected_row_position = eel_image_chooser_get_selected_row (theme_selector->details->theme_selector);
if (selected_row_position < 0) {
return NULL;
}
theme_name = eel_image_chooser_get_row_data (theme_selector->details->theme_selector,
selected_row_position);
return g_strdup (theme_name);
}
void
nautilus_theme_selector_set_selected_theme (NautilusThemeSelector *theme_selector,
const char *new_theme_name)
{
guint i;
const char *theme_name;
g_return_if_fail (NAUTILUS_IS_THEME_SELECTOR (theme_selector));
g_return_if_fail (new_theme_name != NULL);
for (i = 0; i < eel_image_chooser_get_num_rows (theme_selector->details->theme_selector); i++) {
theme_name = eel_image_chooser_get_row_data (theme_selector->details->theme_selector, i);
if (eel_str_is_equal (theme_name, new_theme_name)) {
eel_image_chooser_set_selected_row (theme_selector->details->theme_selector, i);
eel_scrolled_image_chooser_show_selected_row (theme_selector->details->theme_selector,
theme_selector->details->scrolled_window);
return;
}
}
}
void
nautilus_theme_selector_set_parent_window (NautilusThemeSelector *theme_selector,
GtkWindow *parent_window)
{
g_return_if_fail (NAUTILUS_IS_THEME_SELECTOR (theme_selector));
g_return_if_fail (GTK_IS_WINDOW (parent_window));
theme_selector->details->parent_window = parent_window;
}
static GtkWidget *
create_button_with_stock_image (const char *title, const char *stock_id)
{
GtkWidget *button, *label, *image;
GtkWidget *align, *hbox;
button = gtk_button_new ();
label = gtk_label_new_with_mnemonic (title);
gtk_label_set_mnemonic_widget (GTK_LABEL (label), button);
image = gtk_image_new_from_stock (stock_id, GTK_ICON_SIZE_BUTTON);
hbox = gtk_hbox_new (FALSE, 2);
align = gtk_alignment_new (0.5, 0.5, 0.0, 0.0);
gtk_box_pack_start (GTK_BOX (hbox), image, FALSE, FALSE, 0);
gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0);
gtk_container_add (GTK_CONTAINER (button), align);
gtk_container_add (GTK_CONTAINER (align), hbox);
gtk_widget_show_all (align);
return button;
}
static void
nautilus_theme_selector_instance_init (NautilusThemeSelector *theme_selector)
{
GtkWidget *button_box;
GtkWidget *alignment_box;
theme_selector->details = g_new0 (NautilusThemeSelectorDetails, 1);
theme_selector->details->help_label = gtk_label_new ("");
gtk_label_set_justify (GTK_LABEL (theme_selector->details->help_label),
GTK_JUSTIFY_LEFT);
gtk_misc_set_alignment (GTK_MISC (theme_selector->details->help_label), 0.0, 1.0);
theme_selector_update_help_label (theme_selector, FALSE);
theme_selector->details->scrolled_window =
eel_scrolled_image_chooser_new ((GtkWidget**) &theme_selector->details->theme_selector);
theme_selector->details->remove_scrolled_window =
eel_scrolled_image_chooser_new ((GtkWidget**) &theme_selector->details->remove_theme_selector);
alignment_box = gtk_hbox_new (FALSE, 4);
button_box = gtk_hbox_new (TRUE, 2);
gtk_box_pack_start (GTK_BOX (theme_selector), theme_selector->details->help_label, FALSE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (theme_selector), theme_selector->details->scrolled_window, TRUE, TRUE, 4);
gtk_box_pack_start (GTK_BOX (theme_selector), theme_selector->details->remove_scrolled_window, TRUE, TRUE, 2);
gtk_box_pack_start (GTK_BOX (theme_selector), alignment_box, FALSE, TRUE, 2);
gtk_box_pack_end (GTK_BOX (alignment_box), button_box, FALSE, FALSE, 2);
theme_selector->details->install_theme_button = create_button_with_stock_image (_("_Add Theme..."),
GTK_STOCK_ADD);
g_signal_connect_object (theme_selector->details->install_theme_button, "clicked",
G_CALLBACK (install_theme_button_clicked_callback),
theme_selector, 0);
theme_selector->details->remove_theme_button = create_button_with_stock_image (_("_Remove Theme..."),
GTK_STOCK_REMOVE);
g_signal_connect_object (theme_selector->details->remove_theme_button, "clicked",
G_CALLBACK (remove_theme_button_clicked_callback),
theme_selector, 0);
theme_selector->details->cancel_remove_button = create_button_with_stock_image (_("Cancel _Remove"),
GTK_STOCK_CANCEL);
g_signal_connect_object (theme_selector->details->cancel_remove_button, "clicked",
G_CALLBACK (cancel_remove_button_clicked_callback),
theme_selector, 0);
gtk_box_pack_start (GTK_BOX (button_box), theme_selector->details->cancel_remove_button, TRUE, FALSE, 0);
gtk_box_pack_start (GTK_BOX (button_box), theme_selector->details->install_theme_button, TRUE, FALSE, 4);
gtk_box_pack_start (GTK_BOX (button_box), theme_selector->details->remove_theme_button, TRUE, FALSE, 4);
make_widgets_same_size (theme_selector->details->install_theme_button,
theme_selector->details->remove_theme_button);
theme_selector_populate_list (theme_selector->details->theme_selector,
theme_selector->details->scrolled_window,
TRUE);
theme_selector_update_selected_theme_from_preferences (theme_selector);
theme_selector_populate_list (theme_selector->details->remove_theme_selector,
theme_selector->details->remove_scrolled_window,
FALSE);
gtk_widget_show (theme_selector->details->help_label);
gtk_widget_show_all (theme_selector->details->scrolled_window);
gtk_widget_show_all (theme_selector->details->remove_scrolled_window);
gtk_widget_show_all (alignment_box);
gtk_widget_hide (theme_selector->details->remove_scrolled_window);
gtk_widget_hide (theme_selector->details->cancel_remove_button);
theme_selector_update_remove_theme_button (theme_selector);
g_signal_connect_object (theme_selector->details->theme_selector, "selection_changed",
G_CALLBACK (theme_selector_changed_callback),
theme_selector, 0);
theme_selector->details->remove_theme_selector_changed_connection =
g_signal_connect_object (theme_selector->details->remove_theme_selector, "selection_changed",
G_CALLBACK (remove_theme_selector_changed_callback),
theme_selector, 0);
}
static void
nautilus_theme_selector_class_init (NautilusThemeSelectorClass *class)
{
G_OBJECT_CLASS (class)->finalize = theme_selector_finalize;
signals[THEME_CHANGED] = g_signal_new
("theme_changed",
G_TYPE_FROM_CLASS (class),
G_SIGNAL_RUN_LAST,
0,
NULL, NULL,
g_cclosure_marshal_VOID__STRING,
G_TYPE_NONE, 1, G_TYPE_STRING);
}

View file

@ -1,69 +0,0 @@
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */
/*
* Nautilus
*
* Copyright (C) 2000, 2001 Eazel, Inc.
*
* Nautilus 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.
*
* Nautilus 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., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
* Authors: Andy Hertzfeld <andy@eazel.com>
* Ramiro Estrugo <ramiro@eazel.com>
*/
/* nautilus-theme-selector.h - Nautilus theme selector widget. */
#ifndef NAUTILUS_THEME_SELECTOR_H
#define NAUTILUS_THEME_SELECTOR_H
#include <gtk/gtkvbox.h>
#include <gtk/gtkwindow.h>
G_BEGIN_DECLS
#define NAUTILUS_TYPE_THEME_SELECTOR (nautilus_theme_selector_get_type ())
#define NAUTILUS_THEME_SELECTOR(obj) (GTK_CHECK_CAST ((obj), NAUTILUS_TYPE_THEME_SELECTOR, NautilusThemeSelector))
#define NAUTILUS_THEME_SELECTOR_CLASS(klass) (GTK_CHECK_CLASS_CAST ((klass), NAUTILUS_TYPE_THEME_SELECTOR, NautilusThemeSelectorClass))
#define NAUTILUS_IS_THEME_SELECTOR(obj) (GTK_CHECK_TYPE ((obj), NAUTILUS_TYPE_THEME_SELECTOR))
#define NAUTILUS_IS_THEME_SELECTOR_CLASS(klass) (GTK_CHECK_CLASS_TYPE ((klass), NAUTILUS_TYPE_THEME_SELECTOR))
typedef struct NautilusThemeSelector NautilusThemeSelector;
typedef struct NautilusThemeSelectorClass NautilusThemeSelectorClass;
typedef struct NautilusThemeSelectorDetails NautilusThemeSelectorDetails;
struct NautilusThemeSelector
{
GtkVBox vbox;
NautilusThemeSelectorDetails *details;
};
struct NautilusThemeSelectorClass
{
GtkVBoxClass parent_class;
};
GType nautilus_theme_selector_get_type (void);
GtkWidget *nautilus_theme_selector_new (void);
char * nautilus_theme_selector_get_selected_theme (NautilusThemeSelector *theme_selector);
void nautilus_theme_selector_set_selected_theme (NautilusThemeSelector *theme_selector,
const char *theme_name);
/* Parent window for transient dialogs (file selector and error dialogs) */
void nautilus_theme_selector_set_parent_window (NautilusThemeSelector *theme_selector,
GtkWindow *parent_window);
G_END_DECLS
#endif /* NAUTILUS_THEME_SELECTOR_H */