Author: bdonlan
Date: 2004-07-06 19:43:51 -0400 (Tue, 06 Jul 2004)
New Revision: 308
Modified:
trunk/clients/haver-gtk/TODO
trunk/clients/haver-gtk/bin/haver-gtk.pl
trunk/clients/haver-gtk/lib/Haver/UI/Gtk/ServerEditDialog.pm
trunk/clients/haver-gtk/lib/Haver/UI/Gtk/ServerSelectDialog.pm
Log:
* haver-gtk/lib/Haver/UI/Gtk/ServerEditDialog.pm: Perform basic validation on
server settings.
* haver-gtk/lib/Haver/UI/Gtk/ServerSelectDialog.pm: Remove check for empty
Name field as it is done by ServerEditDialog
* haver-gtk/bin/haver-gtk.pl: Remove TODO comment. Add default port setting
7070.
* haver-gtk/TODO: Remove finished TODO entry.
Modified: trunk/clients/haver-gtk/TODO
===================================================================
--- trunk/clients/haver-gtk/TODO 2004-07-06 23:14:59 UTC (rev 307)
+++ trunk/clients/haver-gtk/TODO 2004-07-06 23:43:51 UTC (rev 308)
@@ -1,5 +1,4 @@
TODO:
-* Validation in server editing dialog
* Password prompt dialog
* Compositing command parser
* Hilight active tabs
Modified: trunk/clients/haver-gtk/bin/haver-gtk.pl
===================================================================
--- trunk/clients/haver-gtk/bin/haver-gtk.pl 2004-07-06 23:14:59 UTC (rev
307)
+++ trunk/clients/haver-gtk/bin/haver-gtk.pl 2004-07-06 23:43:51 UTC (rev
308)
@@ -321,11 +321,10 @@
if (!defined $pass) {
$pass = ''; # TODO: prompt
}
- # TODO: validation in ServerEditDialog
$config->{Address} =~ /^([^:]+)(?::(\d+))?$/ or return;
$kernel->post('haver', 'connect',
Host => $1,
- Port => $2,
+ Port => $2 || 7070,
UID => $config->{UID} || $user,
Password => $pass,
);
Modified: trunk/clients/haver-gtk/lib/Haver/UI/Gtk/ServerEditDialog.pm
===================================================================
--- trunk/clients/haver-gtk/lib/Haver/UI/Gtk/ServerEditDialog.pm
2004-07-06 23:14:59 UTC (rev 307)
+++ trunk/clients/haver-gtk/lib/Haver/UI/Gtk/ServerEditDialog.pm
2004-07-06 23:43:51 UTC (rev 308)
@@ -28,7 +28,7 @@
use Gtk;
use Data::Dumper;
-#use POE;
+use Haver::UI::Gtk::ButtonDialog;
my @fieldlist = qw(Name UID Address Password);
@@ -195,9 +195,30 @@
delete $self->{config}{Password} unless $savepass;
}
+sub validate {
+ my $self = shift;
+ my $config = $self->{config};
+ if ($config->{Name} =~ /^\s*$/) {
+ Haver::UI::Gtk::ButtonDialog->new(
+ Title => 'Error',
+ Text => 'You must specify a server name.',
+ );
+ return 0;
+ }
+ unless ($config->{Address} =~ /^ [^:]+ (?: : (\d+) )? $/x) {
+ Haver::UI::Gtk::ButtonDialog->new(
+ Title => 'Error',
+ Text => 'The specified address is invalid.',
+ );
+ return 0;
+ }
+ return 1;
+}
+
sub btn_OK {
my $self = shift;
$self->save;
+ $self->validate or return;
$self->{parent}->server_save($self->{config});
}
Modified: trunk/clients/haver-gtk/lib/Haver/UI/Gtk/ServerSelectDialog.pm
===================================================================
--- trunk/clients/haver-gtk/lib/Haver/UI/Gtk/ServerSelectDialog.pm
2004-07-06 23:14:59 UTC (rev 307)
+++ trunk/clients/haver-gtk/lib/Haver/UI/Gtk/ServerSelectDialog.pm
2004-07-06 23:43:51 UTC (rev 308)
@@ -197,14 +197,6 @@
sub server_save {
my ($self, $config) = @_;
- if ($config->{Name} eq '') {
- Haver::UI::Gtk::ButtonDialog->new(
- Title => 'Error',
- Text => 'You must specify a name for the server.',
- TextPad => 20,
- );
- return;
- }
if (!exists($config->{Oldname}) or $config->{Name} ne
$config->{Oldname}) {
if (exists $self->{servers}{$config->{Name}}) {
Haver::UI::Gtk::ButtonDialog->new(