summaryrefslogtreecommitdiffstats
path: root/opensuse/tdebase/lowdiskspace.patch
diff options
context:
space:
mode:
Diffstat (limited to 'opensuse/tdebase/lowdiskspace.patch')
-rw-r--r--opensuse/tdebase/lowdiskspace.patch413
1 files changed, 0 insertions, 413 deletions
diff --git a/opensuse/tdebase/lowdiskspace.patch b/opensuse/tdebase/lowdiskspace.patch
deleted file mode 100644
index a2ee05f54..000000000
--- a/opensuse/tdebase/lowdiskspace.patch
+++ /dev/null
@@ -1,413 +0,0 @@
-Subject: Dialog notifying about running low on disk space
-From: Lubos Lunak
-Feature: bnc#199054
-Patch-upstream: no
-
-Index: kioslave/media/medianotifier/Makefile.am
-===================================================================
---- kioslave/media/medianotifier/Makefile.am.orig
-+++ kioslave/media/medianotifier/Makefile.am
-@@ -5,7 +5,8 @@ kded_medianotifier_la_LDFLAGS = -module
- kded_medianotifier_la_LIBADD = ../libmediacommon/libmediacommon.la $(LIB_KDECORE) \
- $(LIB_KDEUI) $(LIB_KIO)
- kded_medianotifier_la_SOURCES = medianotifier.cpp medianotifier.skel \
-- notificationdialog.cpp notificationdialogview.ui
-+ notificationdialog.cpp notificationdialogview.ui \
-+ freespacenotifier.cpp freespacewidget.ui
-
- noinst_HEADERS = medianotifier.h notificationdialog.h
-
-Index: kioslave/media/medianotifier/medianotifier.h
-===================================================================
---- kioslave/media/medianotifier/medianotifier.h.orig
-+++ kioslave/media/medianotifier/medianotifier.h
-@@ -27,6 +27,8 @@
- #include <qstring.h>
- #include <qmap.h>
-
-+class FreeSpaceNotifier;
-+
- class MediaNotifier: public KDEDModule
- {
- Q_OBJECT
-@@ -52,6 +54,8 @@ private:
- const QString &autoopenFile );
-
- QMap<KIO::Job*,bool> m_allowNotificationMap;
-+ FreeSpaceNotifier* m_freeSpaceNotifier;
- };
-+
- #endif
-
-Index: kioslave/media/medianotifier/medianotifier.cpp
-===================================================================
---- kioslave/media/medianotifier/medianotifier.cpp.orig
-+++ kioslave/media/medianotifier/medianotifier.cpp
-@@ -36,6 +36,7 @@
- #include "notifiersettings.h"
- #include "notifieraction.h"
- #include "mediamanagersettings.h"
-+#include "freespacenotifier.h"
-
- MediaNotifier::MediaNotifier(const QCString &name) : KDEDModule(name)
- {
-@@ -44,6 +45,8 @@ MediaNotifier::MediaNotifier(const QCStr
-
- connectDCOPSignal( "kded", "mediamanager", "mediumChanged(QString, bool)",
- "onMediumChange(QString, bool)", true );
-+
-+ m_freeSpaceNotifier = new FreeSpaceNotifier( this );
- }
-
- MediaNotifier::~MediaNotifier()
-@@ -53,6 +56,7 @@ MediaNotifier::~MediaNotifier()
-
- disconnectDCOPSignal( "kded", "mediamanager", "mediumChanged(QString, bool)",
- "onMediumChange(QString, bool)" );
-+ delete m_freeSpaceNotifier;
- }
-
- void MediaNotifier::onMediumChange( const QString &name, bool allowNotification )
-Index: kioslave/media/medianotifier/freespacenotifier.cpp
-===================================================================
---- /dev/null
-+++ kioslave/media/medianotifier/freespacenotifier.cpp
-@@ -0,0 +1,159 @@
-+/* This file is part of the KDE Project
-+ Copyright (c) 2006 Lukas Tinkl <ltinkl@suse.cz>
-+ Copyright (c) 2008 Lubos Lunak <l.lunak@suse.cz>
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program. If not, see <http://www.gnu.org/licenses/>.
-+*/
-+
-+#include "freespacenotifier.h"
-+
-+#include <sys/vfs.h>
-+#include <unistd.h>
-+
-+#include <qdir.h>
-+#include <qfile.h>
-+#include <qlabel.h>
-+#include <qspinbox.h>
-+
-+#include <kconfig.h>
-+#include <kdebug.h>
-+#include <klocale.h>
-+#include <krun.h>
-+
-+#include "freespacewidget.h"
-+
-+
-+FreeSpaceNotifier::FreeSpaceNotifier( QObject* parent )
-+ : QObject( parent )
-+ , lastAvailTimer( NULL )
-+ , dialog( NULL )
-+ , lastAvail( -1 )
-+{
-+ connect( &timer, SIGNAL( timeout() ), SLOT( checkFreeDiskSpace() ) );
-+ KConfig cfg( "lowspacesuse", true ); // read only
-+ KConfigGroup group( &cfg, "General" );
-+ limit = group.readNumEntry( "WarnMinimumFreeSpace", 200 ); // MiB
-+ if( limit != 0 )
-+ timer.start( 1000 * 60 /* 1 minute */ );
-+}
-+
-+FreeSpaceNotifier::~FreeSpaceNotifier()
-+{
-+ delete dialog;
-+}
-+
-+void FreeSpaceNotifier::checkFreeDiskSpace()
-+{
-+ if ( dialog )
-+ return;
-+ struct statfs sfs;
-+ if ( statfs( QFile::encodeName( QDir::homeDirPath() ), &sfs ) == 0 )
-+ {
-+ long avail = ( getuid() ? sfs.f_bavail : sfs.f_bfree );
-+
-+ if (avail < 0 || sfs.f_blocks <= 0)
-+ return; // we better do not say anything about it
-+
-+ int availpct = int( 100 * avail / sfs.f_blocks );
-+ avail = ((long long)avail) * sfs.f_bsize / ( 1024 * 1024 ); // to MiB
-+ bool warn = false;
-+ if( avail < limit ) // avail disk space dropped under a limit
-+ {
-+ if( lastAvail < 0 ) // always warn the first time
-+ {
-+ lastAvail = avail;
-+ warn = true;
-+ }
-+ else if( avail > lastAvail ) // the user freed some space
-+ lastAvail = avail; // so warn if it goes low again
-+ else if( avail < lastAvail * 0.5 ) // available dropped to a half of previous one, warn again
-+ {
-+ warn = true;
-+ lastAvail = avail;
-+ }
-+ // do not change lastAvail otherwise, to handle free space slowly going down
-+ }
-+ if ( warn )
-+ {
-+ dialog = new KDialogBase(
-+ i18n( "Low Disk Space" ),
-+ KDialogBase::Yes | KDialogBase::No | KDialogBase::Cancel,
-+ KDialogBase::Yes, KDialogBase::No,
-+ 0, "lowdiskspacedialog", false, true,
-+ i18n( "Open File Manager" ), i18n( "Do Nothing" ), i18n( "Disable Warning" ));
-+ widget = new FreeSpaceWidget( dialog );
-+ dialog->setMainWidget( widget );
-+
-+ QString text = i18n( "You are running low on disk space on your home partition (currently %2%, %1 MiB free)." )
-+ .arg( avail ).arg( availpct );
-+ widget->warningLabel->setText( text );
-+ widget->spinbox->setMinValue( 0 );
-+ widget->spinbox->setMaxValue( 100000 );
-+ widget->spinbox->setValue( limit );
-+ connect( dialog, SIGNAL( yesClicked() ), SLOT( slotYes() ) );
-+ connect( dialog, SIGNAL( noClicked() ), SLOT( slotNo() ) );
-+ connect( dialog, SIGNAL( cancelClicked() ), SLOT( slotCancel() ) );
-+ dialog->show();
-+ }
-+ }
-+}
-+
-+void FreeSpaceNotifier::slotYes()
-+{
-+ ( void ) new KRun( KURL::fromPathOrURL( QDir::homeDirPath() ) );
-+ cleanupDialog( widget->spinbox->value());
-+}
-+
-+void FreeSpaceNotifier::slotNo()
-+{
-+ cleanupDialog( widget->spinbox->value());
-+}
-+
-+void FreeSpaceNotifier::slotCancel()
-+{
-+ cleanupDialog( 0 ); // set limit to zero
-+}
-+
-+void FreeSpaceNotifier::cleanupDialog( long newLimit )
-+{
-+ dialog->deleteLater();
-+ dialog = NULL;
-+ if( limit != newLimit )
-+ {
-+ KConfig cfg( "lowspacesuse" );
-+ KConfigGroup group( &cfg, "General" );
-+ limit = newLimit;
-+ group.writeEntry( "WarnMinimumFreeSpace", limit );
-+ if( limit == 0 )
-+ timer.stop();
-+ }
-+ if( limit != 0 )
-+ { // warn again if constanly below limit for too long
-+ if( lastAvailTimer == NULL )
-+ {
-+ lastAvailTimer = new QTimer( this );
-+ connect( lastAvailTimer, SIGNAL( timeout()), SLOT( resetLastAvailable()));
-+ }
-+ lastAvailTimer->start( 1000 * 60 * 60 /* 1 hour*/ );
-+ }
-+}
-+
-+void FreeSpaceNotifier::resetLastAvailable()
-+{
-+ lastAvail = -1;
-+ lastAvailTimer->deleteLater();
-+ lastAvailTimer = NULL;
-+}
-+
-+#include "freespacenotifier.moc"
-Index: kioslave/media/medianotifier/freespacenotifier.h
-===================================================================
---- /dev/null
-+++ kioslave/media/medianotifier/freespacenotifier.h
-@@ -0,0 +1,51 @@
-+/* This file is part of the KDE Project
-+ Copyright (c) 2006 Lukas Tinkl <ltinkl@suse.cz>
-+ Copyright (c) 2008 Lubos Lunak <l.lunak@suse.cz>
-+
-+ This program is free software; you can redistribute it and/or modify
-+ it under the terms of the GNU General Public License as published by
-+ the Free Software Foundation; either version 2 of the License, or
-+ (at your option) any later version.
-+
-+ This program is distributed in the hope that it will be useful,
-+ but WITHOUT ANY WARRANTY; without even the implied warranty of
-+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-+ GNU General Public License for more details.
-+
-+ You should have received a copy of the GNU General Public License
-+ along with this program. If not, see <http://www.gnu.org/licenses/>.
-+*/
-+
-+#ifndef _FREESPACENOTIFIER_H_
-+#define _FREESPACENOTIFIER_H_
-+
-+#include <qtimer.h>
-+
-+#include <kdialogbase.h>
-+
-+class FreeSpaceWidget;
-+
-+class FreeSpaceNotifier
-+: public QObject
-+{
-+ Q_OBJECT
-+ public:
-+ FreeSpaceNotifier( QObject* parent = NULL );
-+ virtual ~FreeSpaceNotifier();
-+ private slots:
-+ void checkFreeDiskSpace();
-+ void resetLastAvailable();
-+ void slotYes();
-+ void slotNo();
-+ void slotCancel();
-+ private:
-+ void cleanupDialog( long newLimit );
-+ QTimer timer;
-+ QTimer* lastAvailTimer;
-+ KDialogBase* dialog;
-+ FreeSpaceWidget* widget;
-+ long limit;
-+ long lastAvail; // used to supress repeated warnings when available space hasn't changed
-+};
-+
-+#endif
-Index: kioslave/media/medianotifier/freespacewidget.ui
-===================================================================
---- /dev/null
-+++ kioslave/media/medianotifier/freespacewidget.ui
-@@ -0,0 +1,118 @@
-+<!DOCTYPE UI><UI version="3.3" stdsetdef="1">
-+<class>FreeSpaceWidget</class>
-+<widget class="QWidget">
-+ <property name="name">
-+ <cstring>Form1</cstring>
-+ </property>
-+ <property name="geometry">
-+ <rect>
-+ <x>0</x>
-+ <y>0</y>
-+ <width>489</width>
-+ <height>108</height>
-+ </rect>
-+ </property>
-+ <property name="caption">
-+ <string>Form1</string>
-+ </property>
-+ <vbox>
-+ <property name="name">
-+ <cstring>unnamed</cstring>
-+ </property>
-+ <widget class="QLabel">
-+ <property name="name">
-+ <cstring>warningLabel</cstring>
-+ </property>
-+ <property name="text">
-+ <string></string>
-+ </property>
-+ </widget>
-+ <widget class="QLabel">
-+ <property name="name">
-+ <cstring>textLabel2</cstring>
-+ </property>
-+ <property name="text">
-+ <string>Would you like to run a file manager to free some disk space and fix the problem?</string>
-+ </property>
-+ </widget>
-+ <spacer>
-+ <property name="name">
-+ <cstring>spacer3</cstring>
-+ </property>
-+ <property name="orientation">
-+ <enum>Vertical</enum>
-+ </property>
-+ <property name="sizeType">
-+ <enum>Expanding</enum>
-+ </property>
-+ <property name="sizeHint">
-+ <size>
-+ <width>20</width>
-+ <height>40</height>
-+ </size>
-+ </property>
-+ </spacer>
-+ <widget class="QLayoutWidget">
-+ <property name="name">
-+ <cstring>layout3</cstring>
-+ </property>
-+ <hbox>
-+ <property name="name">
-+ <cstring>unnamed</cstring>
-+ </property>
-+ <widget class="QLabel">
-+ <property name="name">
-+ <cstring>textLabel3</cstring>
-+ </property>
-+ <property name="text">
-+ <string>Warn again when the free space is below</string>
-+ </property>
-+ </widget>
-+ <widget class="QSpinBox">
-+ <property name="name">
-+ <cstring>spinbox</cstring>
-+ </property>
-+ <property name="suffix">
-+ <string> MiB</string>
-+ </property>
-+ </widget>
-+ <spacer>
-+ <property name="name">
-+ <cstring>spacer1</cstring>
-+ </property>
-+ <property name="orientation">
-+ <enum>Horizontal</enum>
-+ </property>
-+ <property name="sizeType">
-+ <enum>Expanding</enum>
-+ </property>
-+ <property name="sizeHint">
-+ <size>
-+ <width>30</width>
-+ <height>20</height>
-+ </size>
-+ </property>
-+ </spacer>
-+ </hbox>
-+ </widget>
-+ <spacer>
-+ <property name="name">
-+ <cstring>spacer2</cstring>
-+ </property>
-+ <property name="orientation">
-+ <enum>Vertical</enum>
-+ </property>
-+ <property name="sizeType">
-+ <enum>Expanding</enum>
-+ </property>
-+ <property name="sizeHint">
-+ <size>
-+ <width>20</width>
-+ <height>16</height>
-+ </size>
-+ </property>
-+ </spacer>
-+ </vbox>
-+</widget>
-+<layoutdefaults spacing="6" margin="11"/>
-+</UI>