X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/5252c12db4929886dbe502013e0a1fee6500f568..a26eda8d3809159615a5fe95b1cf8eb154b1374b:/src/filterbar.cpp diff --git a/src/filterbar.cpp b/src/filterbar.cpp index eb7be1b2d..6e7443715 100644 --- a/src/filterbar.cpp +++ b/src/filterbar.cpp @@ -15,80 +15,81 @@ * You should have received a copy of the GNU General Public License * * along with this program; if not, write to the * * Free Software Foundation, Inc., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ #include "filterbar.h" -#include -#include -//Added by qt3to4: -#include -#include -#include +#include +#include +#include +#include #include #include -#include #include #include -#include "dolphin.h" +#include "dolphinmainwindow.h" -FilterBar::FilterBar(QWidget *parent, const char *name) : - QWidget(parent, name) +FilterBar::FilterBar(QWidget* parent) : + QWidget(parent) { const int gap = 3; - Q3VBoxLayout* foo = new Q3VBoxLayout(this); - foo->addSpacing(gap); + QHBoxLayout* hLayout = new QHBoxLayout(this); + hLayout->setMargin(0); + hLayout->addSpacing(gap); - Q3HBoxLayout* layout = new Q3HBoxLayout(foo); - layout->addSpacing(gap); - - m_filter = new QLabel(i18n("Filter:"), this); - layout->addWidget(m_filter); - layout->addSpacing(KDialog::spacingHint()); + m_filter = new QLabel(i18nc("@label:textbox", "Filter:"), this); + hLayout->addWidget(m_filter); + hLayout->addSpacing(KDialog::spacingHint()); m_filterInput = new KLineEdit(this); - layout->addWidget(m_filterInput); + m_filter->setBuddy(m_filterInput); + hLayout->addWidget(m_filterInput); - m_close = new KPushButton(this); - m_close->setIconSet(SmallIcon("fileclose")); - m_close->setFlat(true); - layout->addWidget(m_close); - layout->addSpacing(gap); + m_close = new QToolButton(this); + m_close->setAutoRaise(true); + m_close->setIcon(KIcon("dialog-close")); + m_close->setToolTip(i18nc("@info:tooltip", "Hide Filter Bar")); + hLayout->addWidget(m_close); + hLayout->addSpacing(gap); connect(m_filterInput, SIGNAL(textChanged(const QString&)), - this, SIGNAL(signalFilterChanged(const QString&))); - connect(m_close, SIGNAL(clicked()), this, SLOT(hide())); - connect(m_close, SIGNAL(clicked()), - &Dolphin::mainWin(), SLOT(slotShowFilterBarChanged())); + this, SIGNAL(filterChanged(const QString&))); + connect(m_close, SIGNAL(clicked()), this, SLOT(emitCloseRequest())); } FilterBar::~FilterBar() { } -void FilterBar::hide() +void FilterBar::hideEvent(QHideEvent* event) { - m_filterInput->clear(); - m_filterInput->clearFocus(); - QWidget::hide(); + if (!event->spontaneous()) { + m_filterInput->clear(); + m_filterInput->clearFocus(); + } } -void FilterBar::show() +void FilterBar::showEvent(QShowEvent* event) { - m_filterInput->setFocus(); - QWidget::show(); + if (!event->spontaneous()) { + m_filterInput->setFocus(); + } } void FilterBar::keyReleaseEvent(QKeyEvent* event) { QWidget::keyReleaseEvent(event); if ((event->key() == Qt::Key_Escape)) { - hide(); - Dolphin::mainWin().slotShowFilterBarChanged(); + emitCloseRequest(); } } +void FilterBar::emitCloseRequest() +{ + emit closeRequest(); +} + #include "filterbar.moc"