#!/usr/bin/perl

use strict;
use warnings;
$|++;

use ClamTk::App;
use ClamTk::Prefs;
use ClamTk::GUI;
use ClamTk::Update;
use ClamTk::Results;

use encoding 'utf8';

use Locale::gettext;
use POSIX qw/locale_h/;
textdomain('clamtk');
setlocale( LC_MESSAGES, '' );
bind_textdomain_codeset( 'clamtk', 'UTF-8' );

our $VERSION = '4.20';

our $scanner = ClamTk::App->new;
$scanner->{VERSION} = $VERSION;

# Ensure all the normal directories are created
ClamTk::Prefs->start_up($scanner) or do {
	zenity_error(gettext('Unable to create startup directories!'));
};

# Ensure the preferences are normalized
# Create defaults if they do not exist
ClamTk::Prefs->custom_prefs();

# Set the user's update method if necessary
my $update = ClamTk::Prefs->get_property('Update');

if( not $update or $update eq 'undef' ) {
	ClamTk::Update->db_select();
}

# Launch!
ClamTk::GUI->start_gui($scanner) or do {
	zenity_error(('Unable to create graphical interface!'));
	exit(1);
};

sub zenity_error {
	my $text = shift;
	my @args = ('zenity', '--error', '--title', 'ClamTk',
		'--text');
	system(@args, $text);
	return;
}
