Removed Perl Slic3r::GUI::Notifier module.
The Growl for OSX is dead and the D-bus support for Linux/X was broken.
This commit is contained in:
parent
e162c47167
commit
9ae2fa6621
2 changed files with 3 additions and 49 deletions
|
@ -15,7 +15,6 @@ use Slic3r::GUI::Controller;
|
||||||
use Slic3r::GUI::Controller::ManualControlDialog;
|
use Slic3r::GUI::Controller::ManualControlDialog;
|
||||||
use Slic3r::GUI::Controller::PrinterPanel;
|
use Slic3r::GUI::Controller::PrinterPanel;
|
||||||
use Slic3r::GUI::MainFrame;
|
use Slic3r::GUI::MainFrame;
|
||||||
use Slic3r::GUI::Notifier;
|
|
||||||
use Slic3r::GUI::Plater;
|
use Slic3r::GUI::Plater;
|
||||||
use Slic3r::GUI::Plater::2D;
|
use Slic3r::GUI::Plater::2D;
|
||||||
use Slic3r::GUI::Plater::2DToolpaths;
|
use Slic3r::GUI::Plater::2DToolpaths;
|
||||||
|
@ -87,7 +86,6 @@ sub OnInit {
|
||||||
Slic3r::set_data_dir($datadir || Wx::StandardPaths::Get->GetUserDataDir);
|
Slic3r::set_data_dir($datadir || Wx::StandardPaths::Get->GetUserDataDir);
|
||||||
Slic3r::GUI::set_wxapp($self);
|
Slic3r::GUI::set_wxapp($self);
|
||||||
|
|
||||||
$self->{notifier} = Slic3r::GUI::Notifier->new;
|
|
||||||
$self->{app_config} = Slic3r::GUI::AppConfig->new;
|
$self->{app_config} = Slic3r::GUI::AppConfig->new;
|
||||||
$self->{preset_bundle} = Slic3r::GUI::PresetBundle->new;
|
$self->{preset_bundle} = Slic3r::GUI::PresetBundle->new;
|
||||||
|
|
||||||
|
@ -271,7 +269,9 @@ sub notify {
|
||||||
$frame->RequestUserAttention(&Wx::wxMAC ? wxUSER_ATTENTION_ERROR : wxUSER_ATTENTION_INFO)
|
$frame->RequestUserAttention(&Wx::wxMAC ? wxUSER_ATTENTION_ERROR : wxUSER_ATTENTION_INFO)
|
||||||
unless ($frame->IsActive);
|
unless ($frame->IsActive);
|
||||||
|
|
||||||
$self->{notifier}->notify($message);
|
# There used to be notifier using a Growl application for OSX, but Growl is dead.
|
||||||
|
# The notifier also supported the Linux X D-bus notifications, but that support was broken.
|
||||||
|
#TODO use wxNotificationMessage?
|
||||||
}
|
}
|
||||||
|
|
||||||
# Called after the Preferences dialog is closed and the program settings are saved.
|
# Called after the Preferences dialog is closed and the program settings are saved.
|
||||||
|
|
|
@ -1,46 +0,0 @@
|
||||||
# Notify about the end of slicing.
|
|
||||||
# The notifications are sent out using the Growl protocol if installed, and using DBus XWindow protocol.
|
|
||||||
|
|
||||||
package Slic3r::GUI::Notifier;
|
|
||||||
use Moo;
|
|
||||||
|
|
||||||
has 'growler' => (is => 'rw');
|
|
||||||
|
|
||||||
my $icon = Slic3r::var("Slic3r.png");
|
|
||||||
|
|
||||||
sub BUILD {
|
|
||||||
my ($self) = @_;
|
|
||||||
|
|
||||||
if (eval 'use Growl::GNTP; 1') {
|
|
||||||
# register with growl
|
|
||||||
eval {
|
|
||||||
$self->growler(Growl::GNTP->new(AppName => 'Slic3r', AppIcon => $icon));
|
|
||||||
$self->growler->register([{Name => 'SKEIN_DONE', DisplayName => 'Slicing Done'}]);
|
|
||||||
};
|
|
||||||
# if register() fails (for example because of a timeout), disable growler at all
|
|
||||||
$self->growler(undef) if $@;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
sub notify {
|
|
||||||
my ($self, $message) = @_;
|
|
||||||
my $title = 'Slicing Done!';
|
|
||||||
|
|
||||||
eval {
|
|
||||||
$self->growler->notify(Event => 'SKEIN_DONE', Title => $title, Message => $message)
|
|
||||||
if $self->growler;
|
|
||||||
};
|
|
||||||
# Net::DBus is broken in multithreaded environment
|
|
||||||
if (0 && eval 'use Net::DBus; 1') {
|
|
||||||
eval {
|
|
||||||
my $session = Net::DBus->session;
|
|
||||||
my $serv = $session->get_service('org.freedesktop.Notifications');
|
|
||||||
my $notifier = $serv->get_object('/org/freedesktop/Notifications',
|
|
||||||
'org.freedesktop.Notifications');
|
|
||||||
$notifier->Notify('Slic3r', 0, $icon, $title, $message, [], {}, -1);
|
|
||||||
undef $Net::DBus::bus_session;
|
|
||||||
};
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
1;
|
|
Loading…
Add table
Reference in a new issue