summaryrefslogtreecommitdiffstats
path: root/control-center2
diff options
context:
space:
mode:
Diffstat (limited to 'control-center2')
-rwxr-xr-xcontrol-center2399
1 files changed, 0 insertions, 399 deletions
diff --git a/control-center2 b/control-center2
deleted file mode 100755
index 47599211..00000000
--- a/control-center2
+++ /dev/null
@@ -1,399 +0,0 @@
-#!/usr/bin/perl -w
-
-# Control-center
-
-# Copyright (C) 1999 MandrakeSoft
-# Damien Krotkine (damien@mandrakesoft.com)
-# Daouda Lo (daouda@mandrakesoft.com)
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-
-use Gtk;
-use Config;
-use POSIX;
-# for i18n
-use Locale::GetText;
-
-setlocale (LC_ALL, "");
-Locale::GetText::textdomain ("DrakConf");
-
-import Locale::GetText I_;
-*_ = *I_;
-
-init Gtk;
-use Data::Dumper;
-
-my %pixmaps_global;
-my $xpm_path="pixmaps";
-
-my $window_global = new Gtk::Window -toplevel;
-$window_global->set_usize(640, 480);
-$window_global->signal_connect ( delete_event => sub { Gtk->exit(0); });
-$window_global->set_position(1);
-$window_global->set_title(_("Mandrake Control Center"));
-$window_global->border_width(0);
-
-$vbox_global = new Gtk::VBox(0, 0);
-$window_global->add($vbox_global);
-
-######### menus
-my @item_factory_entries = (
- [_("/_File"), undef, 0, "<Branch>"],
- [_("/File/tearoff1"), undef, 0, "<Tearoff>"],
- #[_("/File/_Quit"), _("<control>Q"), 5],
- {
- 'path' => _("/File/_Quit"),
- 'accelerator' => _("<control>Q"),
- 'action' => 1,
- 'type' => '<Item>'
- },
- [_("/_Help"), undef, 0, "<Branch>"],
- [_("/Help/_Mandrake Control Center"), undef, 30],
- [_("/Help/_Report Bug"), undef, 30],
- [_("/Help/_About..."), undef, 30]
- );
-
-my ($accel_group, $item_factory, $box1, $label, $box2);
-my ($separator, $button, $dummy);
-
-$accel_group = new Gtk::AccelGroup;
-$item_factory = new Gtk::ItemFactory('Gtk::MenuBar', "<main>", $accel_group);
-
-$accel_group->attach($window_global);
-foreach (@item_factory_entries) {
- $item_factory->create_item($_, \&item_factory_cb);
-}
-
-$vbox_global->pack_start($item_factory->get_widget('<main>'), 0, 0, 0);
-$hseparator_global = new Gtk::HSeparator;
-$vbox_global->pack_start($hseparator_global, 0, 1, 0);
-######### menus end
-
-
-my $hbox_global = new Gtk::HBox(0,0);
-$vbox_global->pack_start($hbox_global, 1, 1, 0);
-$hbox_global->border_width(5);
-my $scrolled_global = new Gtk::ScrolledWindow;
-$scrolled_global->set_policy('automatic','automatic');
-$scrolled_global->set_usize(100, 0);
-$scrolled_global->set_name("icons_back");
-#$scrolled_global->window->draw_rectangle(nil,1, 0, 0, 70, 70); #$scrolled_global->window->style->bg_gc('normal')
-$hbox_global->pack_start($scrolled_global,0,1,0);
-my $vseparator_global = new Gtk::VSeparator;
-$hbox_global->pack_start($vseparator_global,0,1,0);
-
-my $notebook_global = new Gtk::Notebook;
-$notebook_global->set_show_border(0);
-$notebook_global->set_show_tabs(0);
-$hbox_global->pack_start($notebook_global,1,1,0);
-
-#-------------------------------- bal -----------------------------------------------------------
-
-my $hbox1= new Gtk::HBox(0,20);
-my ($pix_about_map, $pix_about_mask) = Gtk::Gdk::Pixmap->create_from_xpm(NULL, Gtk::Widget->get_default_style->bg('normal'), "$xpm_path/logo.xpm");
-my $pix_about = new Gtk::Pixmap ($pix_about_map, $pix_about_mask);
-$pix_about->set_alignment(10,0);
-$hbox1->pack_start($pix_about, 0, 1, 0);
-my $style = new Gtk::Style;
-$style->font(Gtk::Gdk::Font->fontset_load(_("-adobe-times-bold-r-normal--*-180-100-100-p-*-iso8859-*,*-r-*")));
-my $label_about2 = new Gtk::Label (_("Mandrake Control Center"));
-$label_about2->set_alignment(0,0);
-$label_about2->set_style($style);
-$hbox1->pack_start($label_about2, 0, 1, 0);
-my $vbox_about = new Gtk::VBox(0,10);
-$vbox_about->pack_start($hbox1, 0, 1, 0);
-my $label_about3 = new Gtk::Label (_("This is the Mandrake Control Center, The place where you can configure your Mandrake Box"));
-$vbox_about->pack_start($label_about3, 0, 0, 0);
-
-my $table_info1 = new Gtk::Table(6,2,1);
-$table_info1->set_row_spacings(15);
-$table_info1->set_col_spacings(10);
-
-my @revtree;
-my @infotree;
-open VERS, "/etc/redhat-release" or die( sprintf _("cannot open this file for read:$!") );
-while (<VERS>) {
- push (@revtree,$_);
-}
-@info_tree = split / /, $revtree[0];
-
-my ($sysname, $nodename, $release, $version, $machine ) = POSIX::uname();
-my $username= POSIX::cuserid();
-
-my $style1 = new Gtk::Style;
-$style1->font(Gtk::Gdk::Font->fontset_load(_("-adobe-times-bold-r-normal--*-100-100-100-p-*-iso8859-*,*-r-*")));
-
-my $ld = new Gtk::Label("$username");
-$table_info1->attach($ld, 1, 2, 0, 1, 0, 0, 0, 0);
-my $label_user = new Gtk::Label(_("User: "));
-$label_user->set_style($style1);
-$label_user->set_justify('right');
-$table_info1->attach($label_user, 0, 1, 0, 1, 0, 0, 0, 0);
-my $ld1 = new Gtk::Label("$info_tree[0] $info_tree[1] $info_tree[3] $info_tree[4] ");
-$table_info1->attach($ld1, 1, 2, 1, 2, 0, 0, 0, 0);
-my $ld2 = new Gtk::Label("$nodename");
-$table_info1->attach($ld2, 1, 2, 2, 3, 0, 0, 0, 0);
-my $ld3 = new Gtk::Label("$release $version");
-$table_info1->attach($ld3, 1, 2, 3, 4, 0, 0, 0, 0);
-my $ld3 = new Gtk::Label("$machine");
-$table_info1->attach($ld3, 1, 2, 4, 5, 0, 0, 0, 0);
-my $label_os = new Gtk::Label(_("System: "));
-$label_os->set_style($style1);
-$label_os->set_justify('right');
-$table_info1->attach($label_os, 0, 1, 1, 2, 0, 0, 0, 0);
-my $label_host = new Gtk::Label(_("Hostname: "));
-$label_host->set_style($style1);
-$table_info1->attach_defaults($label_host, 0, 1, 2, 3);
-my $label_kernel = new Gtk::Label(_("Kernel Version: "));
-$label_kernel->set_style($style1);
-$table_info1->attach_defaults($label_kernel, 0, 1, 3, 4);
-my $label_box = new Gtk::Label(_("Machine: "));
-$label_box->set_style($style1);
-$table_info1->attach_defaults($label_box, 0, 1, 4, 5);
-
-$vbox_about->set_spacing(30);
-$vbox_about->pack_start($table_info1, 0, 0, 0);
-$vbox_about->reorder_child($table_info1,150);
-
-
-$notebook_global->append_page($vbox_about, "$arg");
-
-my $vbox_global_left = new Gtk::VBox(0,0);
-$scrolled_global->add_with_viewport($vbox_global_left);
-
-$window_global->realize;
-map {
- $pixmaps_global{$_ . '_pixmap'} =
- Gtk::Gdk::Pixmap->create_from_xpm($window_global->window, Gtk::Widget->get_default_style->bg('normal'), "$xpm_path/$_.xpm");
-} ('item1', 'item2', 'item3', 'item4', 'item5','draknet1','draknet2','draknet3','draknet4', 'draknet5', 'drakgw');
-
-my %tree;
-$tree{nb_groups}=2;
-$tree[0]{name}=_("Boot Configuration");
-$tree[0]{nb_applis}=2;
-$tree[0]{applis}[0]{name}=_("draknet");
-$tree[0]{applis}[0]{exec}='drakfont';
-$tree[0]{applis}[1]{name}=_("DrakeLogo");
-$tree[0]{applis}[1]{exec}='DrakeLogo';
-$tree[1]{name}="groupe2";
-$tree[1]{nb_applis}=1;
-$tree[1]{applis}[0]{name}=_("DrakFont");#'drakxservices';
-$tree[1]{applis}[0]{exec}='drakfont';#'drakxservices';
-$tree[1]{applis}[1]{name}=_("DrakFloppy");#'drakboot';
-$tree[1]{applis}[1]{exec}='drakfloppy';#'drakboot';
-#print Data::Dumper->Dump([%tree], ['tree']) . "\n";
-print _("nb gr: ") . $tree{nb_groups} . "\n";
-my $num=0;
-my $group;
-for ( $group=0; $group<$tree{nb_groups}; $group++) {
- print _("group: ") . "$group\n";
- draw_icon(56, 36, 'item', 0, "", $tree[$group]{name}, $group);
- for ($item=0; $item<$tree[$group]{nb_applis}; $item++) {
- print _("item: ") . "$item\n";
- draw_icon(56, 36, 'item', 1, $tree[$group]{applis}[$item]{exec}, $tree[$group]{applis}[$item]{name}, $num);
- $num++;
- }
-}
-print Data::Dumper->Dump([$tree[0]{applis}[0]], ['tree-applis->0-->']) . "\n";
-
- #########
-
-
-my $area_global = new Gtk::DrawingArea;
-$vbox_global_left->pack_start($area_global,1,1,0);
-my $rc = "control-center.rc";
-Gtk::Rc->parse($rc);
-$window_global->show_all;
-for (my $i=0; $i<$tree{nb_groups}; $i++) {
- for (my $j=0; $j<$tree[$i]{nb_applis}; $j++) {
- $tree[$i]{applis}[$j]{darea}->hide;
- $tree[$i]{applis}[$j]{label}->hide;
- }
-}
-print _("num: ") . $notebook_global->page_num($vbox_about) . "\n";
-$notebook_global->set_page(0);
-$SIG{USR1} = sub { $notebook_global->set_page(0); }; # embedded applications will send me that signal in order to "hide" them
-
-Gtk->main;
-
-
-sub draw_icon {
- my ($width, $height, $icon_name, $decalage, $exec_string, $name, $number ) = @_;
- my %hash;
- if ($exec_string) {
- my $socket = new Gtk::Socket;
- $socket->show;
- $notebook_global->append_page($socket, "");
- $socket->realize;
- printf (_("The XID of the sockets window nr. %s is [%s]\n"), $arg, $socket->window->XWINDOW );
- printf (_("My PID is [%s]\n"), $$ );
- my $a = $exec_string . " --embedded " . $socket->window->XWINDOW . " " . $$ . "&";
- print "$a\n";
- system ($a);
- }
- $hash{PIX_W} = $width;
- $hash{PIX_H} = $height;
- $hash{actual_pixmap}=1;
- $hash{save_pixmap}=0;
- $hash{anim_idle}=undef;
- $hash{timeout}=undef;
- $hash{darea} = new Gtk::DrawingArea;
- $hash{label} = new Gtk::DrawingArea;
- $hash{label}->set_usize(50, 12);
- $hash{label}->signal_connect(expose_event => sub {
- my $font = $hash{label}->style->font;
- my $w = $font->string_width($name);
- $hash{label}->window->draw_string($font, $hash{label}->style->fg_gc('normal'), ($hash{label}->allocation->[2] - $w) / 2 * 0 + $decalage*20, 9, $name ); #($hash{label}->allocation->[3]-40)/2
-# $hash{label}->window->draw_string($font, $hash{label}->style->bg_gc('normal'), 0, 10, "QQWWylt"); #($hash{label}->allocation->[3]-40)/2
-});
-
- if ($exec_string) {
- $tree[$group]{applis}[$item]{darea} = $hash{darea};
- $tree[$group]{applis}[$item]{label} = $hash{label};
- }
- $hash{darea}->set_usize($width,$height);
- $hash{darea}->set_events(['exposure_mask', 'enter_notify_mask', 'leave_notify_mask', 'button_press_mask', 'button_release_mask' ]);
- $hash{darea}->signal_connect
- (expose_event => sub {
- $hash{darea}->window->draw_pixmap
- ($hash{darea}->style->bg_gc('normal'),
- $pixmaps_global{ $icon_name . $hash{actual_pixmap} . '_pixmap'}, 0, 0,
- ($hash{darea}->allocation->[2]-$hash{PIX_W})/2*0+($decalage * 20),
- ($hash{darea}->allocation->[3]-$hash{PIX_H})/2,
- $hash{PIX_W} , $hash{PIX_H} );
- });
-
-
- $hash{darea}->signal_connect
- (enter_notify_event => sub {
- $hash{anim_idle} ||= Gtk->idle_add
- ( sub {
- $hash{actual_pixmap}==$hash{save_pixmap} and return 1;
- $hash{darea}->window->draw_pixmap
- ($hash{darea}->style->bg_gc('normal'),
- $pixmaps_global{ $icon_name . 1 . '_pixmap'}, # $hash{actual_pixmap} . '_pixmap'},
- 0, 0,
- ($hash{darea}->allocation->[2]-$hash{PIX_W})/2*0+($decalage * 20),
- ($hash{darea}->allocation->[3]-$hash{PIX_H})/2,
- $hash{PIX_W} , $hash{PIX_H} );
- $hash{save_pixmap}=$hash{actual_pixmap};
- return 1;
- });
-
- $hash{timeout} ||= Gtk->timeout_add
- ( 50, sub {
- $hash{actual_pixmap}++;
- $hash{actual_pixmap}>5 and $hash{actual_pixmap}=1;
- return 1;
- });
- });
-
-
- $hash{darea}->signal_connect
- (leave_notify_event => sub {
- Gtk->main_iteration() while ($hash{save_pixmap}!=1);
- Gtk->idle_remove($hash{anim_idle});
- Gtk->timeout_remove($hash{timeout});
- undef $hash{anim_idle};
- undef $hash{timeout};
- });
- # $hash{darea}->signal_connect(button_press_event => sub { });
- if ($exec_string) {
- $hash{darea}->signal_connect(button_release_event => sub { $notebook_global->set_page($number+1); });
- } else {
- $hash{darea}->signal_connect(button_release_event => sub {
- print _("group: ") . "$number\n";
- for (my $i=0; $i<$tree{nb_groups}; $i++) {
- for (my $j=0; $j<$tree[$i]{nb_applis}; $j++) {
- if ($i==$number) {
- #print "yep i: $i ; j: $j\n";
- #print Data::Dumper->Dump([$tree[$i]{applis}[$j]{darea}], ['darea-->']) . "\n";
- $tree[$i]{applis}[$j]{darea}->show;
- $tree[$i]{applis}[$j]{label}->show;
- } else {
- #print "nope i: $i ; j: $j\n";
- $tree[$i]{applis}[$j]{darea}->hide;
- $tree[$i]{applis}[$j]{label}->hide;
- }
- }
- }
- });
- }
- $vbox_global_left->pack_start($hash{darea},0,1,0);
- $vbox_global_left->pack_start($hash{label},0,1,0);
-}
-
-sub item_factory_cb {
- my ($widget, $action, @data) = @_;
-
- print "ItemFactory: activated ", $widget->item_factory_path(), " -> ", $action, "\n";
- $action == 1 and Gtk->exit(0);
-}
-
-
-sub create_item_factory {
- if (!defined $item_factory_window) {
- my ($accel_group, $item_factory, $box1, $label, $box2);
- my ($separator, $button, $dummy);
-
-
- $item_factory_window = new Gtk::Window('toplevel');
- signal_connect $item_factory_window destroy => \&destroy_window, \$item_factory_window;
- signal_connect $item_factory_window "delete-event" => \&destroy_window, \$item_factory_window;
-
- $accel_group = new Gtk::AccelGroup;
- $item_factory = new Gtk::ItemFactory('Gtk::MenuBar', "<main>", $accel_group);
-
- #$item_factory_window->set_data('<main>', $item_factory);
- $accel_group->attach($item_factory_window);
- # $item_factory->create_items();
- foreach (@item_factory_entries) {
- $item_factory->create_item($_, \&item_factory_cb);
- }
-
- $item_factory_window->set_title(_("Item Factory"));
- $item_factory_window->set_border_width(0);
-
- $box1 = new Gtk::VBox(0, 0);
- $item_factory_window->add($box1);
- $box1->pack_start($item_factory->get_widget('<main>'), 0, 0, 0);
-
- $label = new Gtk::Label _("Type\n<alt>\nto start");
-
- $label->set_usize(200, 200);
- $label->set_alignment(0.5, 0.5);
- $box1->pack_start($label, 1, 1, 0);
-
- $separator = new Gtk::HSeparator;
- $box1->pack_start($separator, 0, 1, 0);
-
- $box2 = new Gtk::VBox(0, 10);
- $box2->set_border_width(10);
- $box1->pack_start($box2, 0, 1, 0);
-
- $button = new Gtk::Button(_("Close"));
- $button->signal_connect('clicked', sub {$item_factory_window->destroy;});
- $box2->pack_start($button, 1, 1, 0);
- $button->can_default(1);
- $button->grab_default;
-
- }
- if (!visible $item_factory_window) {
- show_all $item_factory_window;
- } else {
- destroy $item_factory_window;
- }
-}