~ubuntu-branches/ubuntu/vivid/kdepim/vivid

« back to all changes in this revision

Viewing changes to messagecomposer/autoimageresizing/autoresizeimagewidget.cpp

  • Committer: Package Import Robot
  • Author(s): Scott Kitterman, Jonathan Riddell, Rohan Garg, Scott Kitterman
  • Date: 2012-11-21 13:12:36 UTC
  • mfrom: (0.2.33)
  • Revision ID: package-import@ubuntu.com-20121121131236-32ijw9a2txrar80k
Tags: 4:4.9.80-0ubuntu1
[ Jonathan Riddell ]
* New upstream beta release

[ Rohan Garg ]
* Add nepomuk-core-dev to build-deps

[ Scott Kitterman ]
* Add new package, libpimcommon4
  - Add libpimcommon4.install
  - Add to debian/control, including kdepim-dbg and kdepim-dev depends
  - Add to kdepim-dev.install
* Remove usr/bin/backupmail and related files from kmail.install as they are
  not provided by upstream anymore
* Add usr/bin/pimsettingexporter and related files to kmail.install
* Add libnepomukwidgets-dev to build-depends

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
  Copyright (c) 2012 Montel Laurent <montel@kde.org>
 
3
 
 
4
  This program is free software; you can redistribute it and/or modify it
 
5
  under the terms of the GNU General Public License, version 2, as
 
6
  published by the Free Software Foundation.
 
7
 
 
8
  This program is distributed in the hope that it will be useful, but
 
9
  WITHOUT ANY WARRANTY; without even the implied warranty of
 
10
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 
11
  General Public License for more details.
 
12
 
 
13
  You should have received a copy of the GNU General Public License along
 
14
  with this program; if not, write to the Free Software Foundation, Inc.,
 
15
  51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
 
16
*/
 
17
 
 
18
#include "autoresizeimagewidget.h"
 
19
#include "ui_autoresizeimagewidget.h"
 
20
#include "messagecomposersettings.h"
 
21
 
 
22
#include <KComboBox>
 
23
#include <KLocale>
 
24
 
 
25
using namespace MessageComposer;
 
26
 
 
27
AutoResizeImageWidget::AutoResizeImageWidget(QWidget *parent)
 
28
  :QWidget(parent),
 
29
    ui(new Ui::AutoResizeImageWidget),
 
30
    mWasChanged(false)
 
31
{
 
32
  ui->setupUi(this);
 
33
  initComboBox(ui->CBMaximumWidth);
 
34
  initComboBox(ui->CBMaximumHeight);
 
35
  initComboBox(ui->CBMinimumWidth);
 
36
  initComboBox(ui->CBMinimumHeight);
 
37
 
 
38
  connect(ui->enabledAutoResize,SIGNAL(clicked()),SIGNAL(changed()));
 
39
  connect(ui->KeepImageRatio,SIGNAL(clicked()),SIGNAL(changed()));
 
40
  connect(ui->AskBeforeResizing,SIGNAL(clicked()),SIGNAL(changed()));
 
41
  connect(ui->EnlargeImageToMinimum,SIGNAL(clicked()),SIGNAL(changed()));
 
42
  connect(ui->ReduceImageToMaximum,SIGNAL(clicked()),SIGNAL(changed()));
 
43
  connect(ui->customMaximumWidth,SIGNAL(valueChanged(int)),SIGNAL(changed()));
 
44
  connect(ui->customMaximumHeight,SIGNAL(valueChanged(int)),SIGNAL(changed()));
 
45
  connect(ui->customMinimumWidth,SIGNAL(valueChanged(int)),SIGNAL(changed()));
 
46
  connect(ui->customMinimumHeight,SIGNAL(valueChanged(int)),SIGNAL(changed()));
 
47
 
 
48
  connect(ui->CBMaximumWidth,SIGNAL(activated(QString)),SLOT(slotComboboxChanged(QString)));
 
49
  connect(ui->CBMaximumHeight,SIGNAL(activated(QString)),SLOT(slotComboboxChanged(QString)));
 
50
  connect(ui->CBMinimumWidth,SIGNAL(activated(QString)),SLOT(slotComboboxChanged(QString)));
 
51
  connect(ui->CBMinimumHeight,SIGNAL(activated(QString)),SLOT(slotComboboxChanged(QString)));
 
52
}
 
53
 
 
54
AutoResizeImageWidget::~AutoResizeImageWidget()
 
55
{
 
56
  delete ui;
 
57
}
 
58
 
 
59
void AutoResizeImageWidget::slotComboboxChanged(const QString& text)
 
60
{
 
61
  const bool isCustom = (text == i18n("Custom"));
 
62
  KComboBox* combo = qobject_cast< KComboBox* >( sender() );
 
63
  if(combo) {
 
64
    if(combo == ui->CBMaximumWidth) {
 
65
      ui->customMaximumWidth->setEnabled(isCustom);
 
66
    } else if(combo == ui->CBMaximumHeight) {
 
67
      ui->customMaximumHeight->setEnabled(isCustom);
 
68
    } else if(combo == ui->CBMinimumWidth) {
 
69
      ui->customMinimumWidth->setEnabled(isCustom);
 
70
    } else if(combo == ui->CBMinimumHeight) {
 
71
      ui->customMinimumHeight->setEnabled(isCustom);
 
72
    }
 
73
    Q_EMIT changed();
 
74
  }
 
75
}
 
76
 
 
77
void AutoResizeImageWidget::initComboBox(KComboBox *combo)
 
78
{
 
79
  QList<int> size;
 
80
  size <<240
 
81
       <<320
 
82
       <<512
 
83
       <<640
 
84
       <<800
 
85
       <<1024
 
86
       <<1600
 
87
       <<2048;
 
88
  Q_FOREACH(int val, size)
 
89
  {
 
90
     combo->addItem(QString::number(val));
 
91
  }
 
92
  combo->addItem(i18n("Custom"));
 
93
}
 
94
 
 
95
void AutoResizeImageWidget::loadConfig()
 
96
{
 
97
  ui->enabledAutoResize->setChecked(MessageComposer::MessageComposerSettings::self()->autoResizeImageEnabled());
 
98
  ui->KeepImageRatio->setChecked(MessageComposer::MessageComposerSettings::self()->keepImageRatio());
 
99
  ui->AskBeforeResizing->setChecked(MessageComposer::MessageComposerSettings::self()->askBeforeResizing());
 
100
  ui->EnlargeImageToMinimum->setChecked(MessageComposer::MessageComposerSettings::self()->enlargeImageToMinimum());
 
101
  ui->ReduceImageToMaximum->setChecked(MessageComposer::MessageComposerSettings::self()->reduceImageToMaximum());
 
102
 
 
103
  ui->customMaximumWidth->setValue(MessageComposer::MessageComposerSettings::self()->customMaximumWidth());
 
104
  ui->customMaximumHeight->setValue(MessageComposer::MessageComposerSettings::self()->customMaximumHeight());
 
105
  ui->customMinimumWidth->setValue(MessageComposer::MessageComposerSettings::self()->customMinimumWidth());
 
106
  ui->customMinimumHeight->setValue(MessageComposer::MessageComposerSettings::self()->customMinimumHeight());
 
107
 
 
108
 
 
109
  ui->CBMaximumWidth->setCurrentIndex(MessageComposer::MessageComposerSettings::self()->maximumWidth());
 
110
  ui->CBMaximumHeight->setCurrentIndex(MessageComposer::MessageComposerSettings::self()->maximumHeight());
 
111
  ui->CBMinimumWidth->setCurrentIndex(MessageComposer::MessageComposerSettings::self()->minimumWidth());
 
112
  ui->CBMinimumHeight->setCurrentIndex(MessageComposer::MessageComposerSettings::self()->minimumHeight());
 
113
 
 
114
  mWasChanged = false;
 
115
}
 
116
 
 
117
void AutoResizeImageWidget::writeConfig()
 
118
{
 
119
  MessageComposer::MessageComposerSettings::self()->setAutoResizeImageEnabled(ui->enabledAutoResize->isChecked());
 
120
  MessageComposer::MessageComposerSettings::self()->setKeepImageRatio(ui->KeepImageRatio->isChecked());
 
121
  MessageComposer::MessageComposerSettings::self()->setAskBeforeResizing(ui->AskBeforeResizing->isChecked());
 
122
  MessageComposer::MessageComposerSettings::self()->setEnlargeImageToMinimum(ui->EnlargeImageToMinimum->isChecked());
 
123
  MessageComposer::MessageComposerSettings::self()->setReduceImageToMaximum(ui->ReduceImageToMaximum->isChecked());
 
124
 
 
125
  MessageComposer::MessageComposerSettings::self()->setCustomMaximumWidth(ui->customMaximumWidth->value());
 
126
  MessageComposer::MessageComposerSettings::self()->setCustomMaximumHeight(ui->customMaximumHeight->value());
 
127
  MessageComposer::MessageComposerSettings::self()->setCustomMinimumWidth(ui->customMinimumWidth->value());
 
128
  MessageComposer::MessageComposerSettings::self()->setCustomMinimumHeight(ui->customMinimumHeight->value());
 
129
 
 
130
  MessageComposer::MessageComposerSettings::self()->setMaximumWidth(ui->CBMaximumWidth->currentIndex());
 
131
  MessageComposer::MessageComposerSettings::self()->setMaximumHeight(ui->CBMaximumHeight->currentIndex());
 
132
  MessageComposer::MessageComposerSettings::self()->setMinimumWidth(ui->CBMinimumWidth->currentIndex());
 
133
  MessageComposer::MessageComposerSettings::self()->setMinimumHeight(ui->CBMinimumHeight->currentIndex());
 
134
 
 
135
 
 
136
  mWasChanged = false;
 
137
}
 
138
 
 
139
void AutoResizeImageWidget::resetToDefault()
 
140
{
 
141
  mWasChanged = false;
 
142
}
 
143
 
 
144
#include "autoresizeimagewidget.moc"