Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 28 additions & 8 deletions bin/shutter
Original file line number Diff line number Diff line change
Expand Up @@ -317,6 +317,7 @@ my $delete_on_close_active;
my $drawing_tool_auto_icons_active;
my $drawing_tool_dark_icons_active;
my $drawing_tool_light_icons_active;
my $drawing_tool_save_to_clipboard_active;
my $filename;
my $fname_autocopy_active;
my $fs_active;
Expand Down Expand Up @@ -814,7 +815,7 @@ sub STARTUP {
my $file_vbox = Gtk3::VBox->new(FALSE, 0);
my $save_vbox = Gtk3::VBox->new(FALSE, 0);
my $capture_vbox = Gtk3::VBox->new(FALSE, 0);
my $drawing_tool_icons_vbox = Gtk3::VBox->new(FALSE, 0);
my $drawing_tool_vbox = Gtk3::VBox->new(FALSE, 0);

my $scale_box = Gtk3::HBox->new(FALSE, 0);
my $filetype_box = Gtk3::HBox->new(FALSE, 0);
Expand All @@ -831,6 +832,7 @@ sub STARTUP {
my $drawing_tool_light_icons_box = Gtk3::HBox->new(FALSE, 0);
my $drawing_tool_dark_icons_box = Gtk3::HBox->new(FALSE, 0);
my $drawing_tool_auto_icons_box = Gtk3::HBox->new(FALSE, 0);
my $drawing_tool_save_to_clipboard_box = Gtk3::HBox->new(FALSE, 0);

#actions
my $actions_vbox = Gtk3::VBox->new(FALSE, 0);
Expand Down Expand Up @@ -1529,6 +1531,22 @@ sub STARTUP {
#end - drawing tool custom icons
#--------------------------------------

#drawing_tool_save_to_clipboard_active
#--------------------------------------
$drawing_tool_save_to_clipboard_active = Gtk3::CheckButton->new_with_label($d->get("Automatically copy screenshot to clipboard when saving"));
$drawing_tool_save_to_clipboard_box->pack_start($drawing_tool_save_to_clipboard_active, FALSE, TRUE, 12);

if (defined $settings_xml->{'general'}->{'drawing_tool_save_to_clipboard'}) {
$drawing_tool_save_to_clipboard_active->set_active($settings_xml->{'general'}->{'drawing_tool_save_to_clipboard'});
} else {
$drawing_tool_save_to_clipboard_active->set_active(FALSE);
}

$drawing_tool_save_to_clipboard_active->set_tooltip_text($d->get("Automatically copy screenshot to the clipboard when saving the image in the Drawing Tool"));

#end - drawing_tool_save_to_clipboard_active
#--------------------------------------

#program
#--------------------------------------
my $model = fct_get_program_model();
Expand Down Expand Up @@ -2468,11 +2486,12 @@ sub STARTUP {
$capture_vbox->pack_start($delay_box, TRUE, TRUE, 3);
$capture_frame->add($capture_vbox);

$drawing_tool_icons_vbox->pack_start($drawing_tool_light_icons_box, TRUE, TRUE, 3);
$drawing_tool_icons_vbox->pack_start($drawing_tool_dark_icons_box, TRUE, TRUE, 3);
$drawing_tool_icons_vbox->pack_start($drawing_tool_auto_icons_box, TRUE, TRUE, 3);
$drawing_tool_frame->add($drawing_tool_icons_vbox);

$drawing_tool_vbox->pack_start($drawing_tool_light_icons_box, TRUE, TRUE, 3);
$drawing_tool_vbox->pack_start($drawing_tool_dark_icons_box, TRUE, TRUE, 3);
$drawing_tool_vbox->pack_start($drawing_tool_auto_icons_box, TRUE, TRUE, 3);
$drawing_tool_vbox->pack_start($drawing_tool_save_to_clipboard_box, TRUE, TRUE, 3);
$drawing_tool_frame->add($drawing_tool_vbox);

#all labels = one size
$scale_label->set_alignment(0, 0.5);
$filetype_label->set_alignment(0, 0.5);
Expand All @@ -2488,7 +2507,7 @@ sub STARTUP {
$vbox_basic->pack_start($file_frame, FALSE, TRUE, 3);
$vbox_basic->pack_start($save_frame, FALSE, TRUE, 3);
$vbox_basic->pack_start($capture_frame, FALSE, TRUE, 3);
$vbox_basic->pack_start($drawing_tool_frame, FALSE, TRUE, 3);
$vbox_basic->pack_start($drawing_tool_frame, FALSE, TRUE, 3);
$vbox_basic->set_border_width(5);

#settings actions tab
Expand Down Expand Up @@ -4719,6 +4738,7 @@ sub STARTUP {
$settings{'general'}->{'drawing_tool_light_icons'} = $drawing_tool_light_icons_active->get_active();
$settings{'general'}->{'drawing_tool_dark_icons'} = $drawing_tool_dark_icons_active->get_active();
$settings{'general'}->{'drawing_tool_auto_icons'} = $drawing_tool_auto_icons_active->get_active();
$settings{'general'}->{'drawing_tool_save_to_clipboard'}= $drawing_tool_save_to_clipboard_active->get_active();
#wrksp -> submenu
if ($x11_supported) {
$settings{'general'}->{'current_monitor_active'} = $current_monitor_active->get_active;
Expand Down Expand Up @@ -6099,7 +6119,7 @@ sub STARTUP {
$drawing_tool->show(
$session_screens{$key}->{'long'}, $session_screens{$key}->{'filetype'}, $session_screens{$key}->{'mime_type'},
$session_screens{$key}->{'name'}, $session_screens{$key}->{'is_unsaved'}, \%session_screens,
$drawing_tool_icons
$drawing_tool_icons, $drawing_tool_save_to_clipboard_active->get_active
);
}

Expand Down
8 changes: 6 additions & 2 deletions share/shutter/resources/modules/Shutter/Draw/DrawingTool.pm
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,8 @@ sub show {
$self->{_name} = shift;
$self->{_is_unsaved} = shift;
$self->{_import_hash} = shift;
my $icon_theme = shift;
my $icon_theme = shift;
$self->{_cp_to_cb_on_save} = shift;

#gettext
$self->{_d} = $self->{_sc}->get_gettext;
Expand Down Expand Up @@ -1895,8 +1896,11 @@ sub save {

#save pixbuf to file
my $pixbuf_save = Shutter::Pixbuf::Save->new($self->{_sc}, $self->{_drawing_window});
#save pixbuf to clipboard
if ($self->{_cp_to_cb_on_save}) {
$self->{_clipboard}->set_image($pixbuf);
}
return $pixbuf_save->save_pixbuf_to_file($pixbuf, $filename, $filetype);

}

}
Expand Down
Loading