Commit Graph

557 Commits

Author SHA1 Message Date
Volker Lanz ca76d30c3d Align a partition if it's newly created (or inserted), the one it replaces
was not aligned and aligning is on.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1115135
2010-04-15 10:46:36 +00:00
Volker Lanz ee40f89db7 Make PartitionAlignment a shell around static methods only.
Make sure aligning partitions actually works in the part resizer. Could still
need work and even thought.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1115134
2010-04-15 10:45:43 +00:00
Volker Lanz 9436c18f69 Do not create a temporary Partition instance for resizing. This does not work
anymore because when aligning the resized partition it is no longer known if an
existing partition is the source of the temporary copy or some other partition.

Let the ResizeDialog modify the original and restore its start and end sector
after the dialog has been executed instead.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1115133
2010-04-15 10:38:48 +00:00
Volker Lanz 82f08a4f8b use PartitionAlignment::sectorAlignment, not Config::sectorAlignment
let the PartResizerWidget know the state of the align checkbox

use the toggled, not the stateChanged signal from the align checkbox

make sure PartResizerWidget::setMoveAllowed is called before PartResizerWidget::init


svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1115131
2010-04-15 10:32:12 +00:00
Volker Lanz 65500ac0f3 change arg name so it doesn't clash with a method name
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1115130
2010-04-15 10:26:51 +00:00
Volker Lanz cc1542fa84 change the way the number of free sectors before and after a partition is
calculated: 

In case of the free sectors after a partition, we used to just add the length
of the following unallocated partition to the last sector. This does not work
for extended partitions where unallocated partitions have
number_of_sectors_per_track free space before AND after them.

This is because if a new partition is created in place of the unallocated space
and this partition is followed by another logical, we need two times
number_of_sectors_per_track for two extended boot records.

If, however, the partition in question is simply resized to fill up all space
following it (and is still followed by a logical), we only need ONE EBR.

To solve this, we now use the difference between the following partition's last
sector and the partition's last sector instead.

The same is true for free sectors preceding a partition, of course.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1115127
2010-04-15 10:20:36 +00:00
Volker Lanz c97d7cd15a small layout fix
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1115125
2010-04-15 10:14:06 +00:00
Volker Lanz c91e6201a0 add config option to set if partitions are aligned per default
don't use title case in labels in the config


svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1114762
2010-04-14 12:55:27 +00:00
Volker Lanz 9426e3afec add new class PartitionAlignment and move all alignment related stuff there
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1114380
2010-04-13 10:04:01 +00:00
Volker Lanz 9d0e0774ef When looking for a partition that already occupies a sector we want to align
to, make sure that if we find an unallocated one it's either logical if we're
aligning a logical or primary if we're aligning a primary.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1114138
2010-04-12 20:16:11 +00:00
Volker Lanz 881ff2a4d2 whitespace
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1114125
2010-04-12 19:56:43 +00:00
Volker Lanz 3d6b74453e check the constraints (first and last sector min and max) again after aligning
a partition to make sure we're not going over those. of course
PartitionTable::alignPartition() shouldn't move first and last sector to
anywhere it's not allowed to, but currently it seems buggy enough to do so and
the check won't hurt.

PartitionTable::alignPartition() still needs to be fixed, of course.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1114084
2010-04-12 18:20:14 +00:00
Volker Lanz d349fbd591 don't try to move a partition if first sector or last sector don't change
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1114076
2010-04-12 17:51:21 +00:00
Volker Lanz f1bc4afde8 also set PartWidgets to visible
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1114071
2010-04-12 17:29:29 +00:00
Volker Lanz ea2e6cba9f move more code from setupConstraints to setupDialog as another workaround. this
really needs fixing.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1114067
2010-04-12 17:05:10 +00:00
Volker Lanz ec44af261e move childWidgets() from PartWidget and PartTableWidget to the common base
class

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1114051
2010-04-12 16:22:14 +00:00
Volker Lanz 92a9bd2878 make PartWidgetBase a QWidget
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1114049
2010-04-12 16:14:10 +00:00
Volker Lanz 22978e66b8 don't keep a list of our children in PartTableWidget either; like in
PartWidget, we can just let Qt handle that for us

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1114047
2010-04-12 16:08:13 +00:00
Volker Lanz c1a6713e45 Remember the active PartWidget in the widget, not in the PartTableWidget. This
means the PartWidget doesn't need to know its PartTableWidget anymore.

Don't keep a list of child widgets, Qt will do that for us.

Remove the showChildren param and property from PartWidget, it wasn't used
anymore.

Rename active() to isActive() in PartWidget for consistency.


svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1114033
2010-04-12 14:35:02 +00:00
Volker Lanz 3f1b211df9 no one is calling the code in drawPartition() but the paint event so move it to
the paint event handler. also, remove a superflous assert in the ctor.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1113987
2010-04-12 12:48:17 +00:00
Volker Lanz 0d2f3ccc84 clean up partwidget class: don't use qpointers, don't use a pointer for access
to the partition property. still needs more work.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1113951
2010-04-12 10:55:13 +00:00
Volker Lanz f2e216cb43 check if there actually is a partition in the partwidget before accessing it
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1113935
2010-04-12 10:15:30 +00:00
Volker Lanz 72775ba8a0 this is surely const
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1113930
2010-04-12 09:45:14 +00:00
Volker Lanz aabeab1d54 show an ok-icon if smart status is ok and hide the icon label if smart status
is unknown

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1113927
2010-04-12 09:23:55 +00:00
Volker Lanz 6d8192b18e use the icons the kstandardguiitem would use in all kguiitems we create
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1113772
2010-04-11 18:19:24 +00:00
Volker Lanz 2f822dd21b check if device has more than 2^32 sectors if user wants to create an msdos
partition table on it and show a warning in that case. also make the default
GPT.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1113771
2010-04-11 18:06:47 +00:00
Volker Lanz cf9ecebd1f turns out which sector alignment is used on import is determined by the app
wide default in the settings. well. for now, include the information in the
export, but ignore it on import.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1113752
2010-04-11 17:16:43 +00:00
Volker Lanz 10bc881dfd use KIO for file IO where appropriate
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1113737
2010-04-11 16:12:16 +00:00
Volker Lanz 216868d8ee use KTemporaryFile
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1113723
2010-04-11 15:41:35 +00:00
Volker Lanz 4180318c41 remove kdebug line we apparently forgot to remove ;-)
use KIO to save files (actually, use a temp file and copy it with KIO::move)


svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1113694
2010-04-11 14:29:20 +00:00
Script Kiddy bd896e98cd SVN_SILENT made messages (.desktop file)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1109899
2010-04-01 06:38:15 +00:00
Yuri Chornoivan f322030288 typo fix
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1108229
2010-03-28 07:58:08 +00:00
Script Kiddy d33325f853 SVN_SILENT made messages (.desktop file)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1108218
2010-03-28 07:16:27 +00:00
Volker Lanz fed39b453a make krazy2 happy
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1108118
2010-03-27 21:18:05 +00:00
Volker Lanz 180fa4643d extend smart stuff, add its own dialog, add action to trigger it etc.
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1108004
2010-03-27 13:47:32 +00:00
Volker Lanz 597a574df5 don't allow hiding the first column, qt gets very confused if you do
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1107999
2010-03-27 13:21:20 +00:00
Script Kiddy 77e9c942fc SVN_SILENT made messages (.desktop file)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1107903
2010-03-27 06:56:40 +00:00
Volker Lanz c29ce45cc8 add an icon if the smart status is bad
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1107721
2010-03-26 16:02:55 +00:00
Volker Lanz 28efbee2ec add smart status information
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1107708
2010-03-26 15:06:33 +00:00
Volker Lanz 10efee63d1 don't add, subtract from the new first sector to make minimum size work
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1107491
2010-03-25 19:58:35 +00:00
Volker Lanz c5d4f57c83 Remove a partition from its parent in its dtor. This should fix bug 232092
but seems too risky to backport for now.

CCBUG:232092

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1107315
2010-03-25 10:21:55 +00:00
Script Kiddy 68436ab3b9 SVN_SILENT made messages (.desktop file)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1107265
2010-03-25 07:14:06 +00:00
Volker Lanz 6b4aa38bcd replace numPendingOperations() with operationStack().size()
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1107160
2010-03-24 23:32:20 +00:00
Volker Lanz 74db24753b warn if user changes backend and operations are pending
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1107157
2010-03-24 23:30:20 +00:00
Volker Lanz ea4611c236 don't cast, think. then look. then, don't cast ;-)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1107142
2010-03-24 23:03:38 +00:00
Volker Lanz ab945358cf rename copysourcerandom to copysourceshred because that is what it's used for
let the user configure if he wants to shred with zeros (i.e. fast) or with
random data (i.e. secure)

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1106963
2010-03-24 10:42:30 +00:00
Script Kiddy 27fe63b20d SVN_SILENT made messages (.desktop file)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1106918
2010-03-24 06:59:39 +00:00
Volker Lanz 972a8e4fd0 emit operationsChanged signal each time an operation is pushed even if it's
merged with an existing operation: the merge may have caused an existing
operation to change in a way that needs reflecting in the GUI (e.g. a
NewOperation now has a different FileSystem)

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1106847
2010-03-24 00:30:48 +00:00
Volker Lanz b28a66bc3f don't assume idx 0 is the default file system
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1106842
2010-03-24 00:20:35 +00:00
Volker Lanz a07e0ee103 don't omit the X-KDE-Library line or things will break
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1106841
2010-03-24 00:20:13 +00:00
Volker Lanz c1c466d97c make building the dummy backend optional
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1106832
2010-03-24 00:06:35 +00:00
Script Kiddy 3a5604c619 SVN_SILENT made messages (.desktop file)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1106534
2010-03-23 06:54:29 +00:00
Script Kiddy 8e5a3ad1e9 SVN_SILENT made messages (.desktop file)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1106191
2010-03-22 07:02:57 +00:00
Volker Lanz 8074a1e702 remove the kpart. it's totally broken now and would require a lot of work.
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1105785
2010-03-21 11:59:58 +00:00
Volker Lanz dc3c0a98cd move config dialog pages to files of their own
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1105782
2010-03-21 11:52:07 +00:00
Volker Lanz 40ae70af25 move config stuff to its own src subdir
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1105772
2010-03-21 11:32:31 +00:00
Volker Lanz 5ca58c6c1c introduce a CoreBackendManager class.
convert the plugins into true KDE plugins with desktop file and all.

let the user pick a backend in the config dialog and load backends on the fly.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1105758
2010-03-21 10:50:44 +00:00
Volker Lanz 389fc52e0e actually delete the d pointer in the dtor ;-)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1105478
2010-03-20 11:10:40 +00:00
Volker Lanz 5c94a3f569 remove outdated and misleading comment
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1105477
2010-03-20 11:09:01 +00:00
Volker Lanz 11853a9d68 add a d pointer to the core backend base class and move its ctor and dtor to
the implementation files to make this a little more future proof.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1105475
2010-03-20 11:07:52 +00:00
Volker Lanz e3932ebf3f use "Advanced" as button text for the details button
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1105464
2010-03-20 10:10:11 +00:00
Volker Lanz 36dccf2c55 new text for "align partition" checkbox
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1105449
2010-03-20 08:56:01 +00:00
Volker Lanz 791377f176 only return true from PartResizerWidget::movePartition() if the partition was
actually moved.

set single step for the sector spinboxes to align value

add a checkbox to turn off aligning the partition


svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1105207
2010-03-19 14:13:04 +00:00
Volker Lanz 6eab5deb08 don't output a warning if the partition is smaller than expected due to
aligning: we cannot know here if the warning is justified at all.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1105196
2010-03-19 14:07:57 +00:00
Volker Lanz edca30b707 add a details widget for the size dialog base and use it for first and last
sector

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1104707
2010-03-18 11:04:13 +00:00
Volker Lanz a892c765cb use a qdoublespinbox instead of a qspinbox for sectors so values higher than
2^31 fit

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1104299
2010-03-17 10:48:24 +00:00
Volker Lanz c384fdaf21 refactor the part resizer and the size dialog base so they're less ugly, less
confusing and don't use free sectors before and after the partition but just
plain start and end.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1103958
2010-03-16 11:40:54 +00:00
Volker Lanz f3c74efa53 make the dummy device smaller so resizing isn't as difficult
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1103941
2010-03-16 10:51:08 +00:00
Volker Lanz 957a084149 make sectorAlignment a static method of PartitionTable; we're going to need it
in the part resizer widget

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1103700
2010-03-15 18:31:54 +00:00
Laurent Montel 0b456bcfcc Fix ui files
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1103483
2010-03-15 08:28:53 +00:00
Volker Lanz 5ad584990b add preferred capacity to config
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1102330
2010-03-12 09:31:17 +00:00
Volker Lanz 537108c78f simplify dialog
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1102174
2010-03-11 23:51:10 +00:00
Volker Lanz 3ab91021c1 make sure to show the right fs color even for extended partitions in the
new-partition-dialog

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1102170
2010-03-11 23:33:41 +00:00
Volker Lanz 68e10edfac set max numbers of primaries in dummy backend
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1102167
2010-03-11 23:16:21 +00:00
Volker Lanz dac0a9a7a8 add an icon to the dummy plugin
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1102166
2010-03-11 23:13:35 +00:00
Volker Lanz 280a936ac9 make sure to emit progress even in the dummy backend
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1102158
2010-03-11 22:50:22 +00:00
Volker Lanz 9091e883e6 handle default button for custom widgets in configure dialog
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1102086
2010-03-11 19:40:42 +00:00
Volker Lanz d013c6d386 add default value and single step of 512 to sector alignment
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1102066
2010-03-11 18:45:21 +00:00
Volker Lanz 7ebfbdb597 remove amps from kguiitems in message boxes, let KDE handle shortcuts
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1102034
2010-03-11 16:55:27 +00:00
Volker Lanz 54def83c4e wording fix
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1102031
2010-03-11 16:45:59 +00:00
Volker Lanz f2f55e00fa improve wording
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1102027
2010-03-11 16:43:00 +00:00
Volker Lanz 34278260f3 some wording and i18n fixes.
don't use amp in ui files, let KDE figure out the shortcuts in dialogs

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1102025
2010-03-11 16:34:48 +00:00
Volker Lanz ebf1612dc8 add setting of default FS to config dialog
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1101986
2010-03-11 14:17:21 +00:00
Volker Lanz a4488119d5 don't use i18n() for the plugin version at all
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1101350
2010-03-09 23:06:50 +00:00
Volker Lanz 0187332c91 don't use i18nc() but ki18nc() instead
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1101346
2010-03-09 22:50:26 +00:00
Volker Lanz 867ca54aca use configure icon, not app icon, for general settings page
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1101339
2010-03-09 22:39:03 +00:00
Volker Lanz 669a6f2a62 use KAboutData for plugin name and version information
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1101336
2010-03-09 22:37:23 +00:00
Volker Lanz 10f548e910 use schema instead of DTD
add labels

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1101252
2010-03-09 19:01:17 +00:00
Volker Lanz 2e7510e816 add visibility to the config class
create an instance of the config in main() instead of the main window.

configure the backend plugin to load via the config file

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1101230
2010-03-09 17:13:22 +00:00
Volker Lanz 156dcf9e33 add some i18n comments to make clearer what the header text is supposed to mean
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1100689
2010-03-08 10:28:00 +00:00
Volker Lanz e55a076615 fix typo
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1100688
2010-03-08 10:27:05 +00:00
Volker Lanz fe9ad46a98 add option to specify the minimum log level
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1100568
2010-03-07 21:20:33 +00:00
Volker Lanz 4d6b168474 add a context menu to the log output to allow saving and clearing the log
refactor some code for context menu stuff.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1100535
2010-03-07 19:02:02 +00:00
Volker Lanz 8d71ec34b4 removed no longer used method declartion showPartitionContextMenu
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1100487
2010-03-07 16:54:12 +00:00
Script Kiddy 3b8225a8d5 SVN_SILENT made messages (.desktop file)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1100309
2010-03-07 06:56:44 +00:00
Volker Lanz 5aceae05fc negate the THREADED define so threaded device scanning is on by default
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098818
2010-03-04 11:52:37 +00:00
Volker Lanz 07392da9c2 oops, forgot to add this
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098779
2010-03-04 10:29:36 +00:00
Volker Lanz 899d27fb34 introduce a define to disable threaded device scanning in case we don't find a
workaround for the solid problem.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098456
2010-03-03 18:58:14 +00:00
Volker Lanz 532d84f6e5 move stuff from advanced page to general page
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098326
2010-03-03 13:32:35 +00:00
Volker Lanz 10054c2577 not used anymore
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098316
2010-03-03 13:22:34 +00:00
Volker Lanz 42359826d2 use List face type for config dialog and some icons
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098247
2010-03-03 10:46:23 +00:00
Volker Lanz 55a9af5a8d don't call updatePartitions() any more after pushing operations on the stack,
the push method itself emits a signal that will lead to updateOperations()
being called now.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098237
2010-03-03 10:09:51 +00:00
Volker Lanz dd9d20345d scan for devices in the backend, not the device scanner thread
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098235
2010-03-03 09:51:53 +00:00
Volker Lanz 23d78e20b4 just show a "scanning..." msg if there is no device node set
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098233
2010-03-03 09:49:44 +00:00
Volker Lanz 1bc2951102 the progress dialog is set to autoclose so it's not necessary to hide it in the
main window

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098231
2010-03-03 09:48:59 +00:00
Volker Lanz 4427937088 rename all progressChanged signals to progress for consistency
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098220
2010-03-03 09:18:59 +00:00
Volker Lanz 7f33130265 Add a ctor to CreatePartitionTableOperation that takes a PartitionTable
pointer, not a PartitionTable::Type. This is required for the import.

Add a basic import partition table feature to the GUI and make it work.

Add calls to PartitionManagerWidget::updatePartitions(),
MainWindow::enableActions() and the selectedPartitionChanged handler to the
operationsChanged handler to make sure the info pane and actions are always
updated when the operation stack changes (e.g. on undo). TODO: remove all
updatePartition() and similar calls from methods in PartitionManagerWidget.

Make the device properties action disabled per default and enable it only if a
device is selected. It's actually possible for no device to be selected if the
backend doesn't find any devices at all.

Fix status tips and markup.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098154
2010-03-03 00:15:26 +00:00
Volker Lanz 845f44ccef make sure we still have a selected partition when trying to use it (now that
the signal handler for operationsChanged in MainWindow calls updatePartitions,
this is required)

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1098148
2010-03-02 23:56:21 +00:00
Volker Lanz 3392940beb add basic export-partitiontable-feature
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097939
2010-03-02 13:35:57 +00:00
Volker Lanz 8bd6442fa8 fix speling
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097726
2010-03-02 00:04:02 +00:00
Volker Lanz 8b114958f7 fix include orders
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097725
2010-03-02 00:02:43 +00:00
Volker Lanz 3a8794caa0 use const ref in foreach
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097724
2010-03-01 23:58:43 +00:00
Volker Lanz ddb1790dd4 move the backend plugins to a src subdir of their own
fix the gazillion arg-unused warnings in the dummy plugin with plenty of
Q_UNUSED usage until the dummy plugin gets a little meatier.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097717
2010-03-01 23:08:53 +00:00
Volker Lanz a383d17f75 don't read the new partition table's type name from the device's partition
table: it might not yet have been set to the new partition table and thus this
will either be wrong or even crash if the device doesn't have a partition table
at all

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097709
2010-03-01 22:48:23 +00:00
Volker Lanz 1e2a852df9 remove all traces of libparted from the main binary and lib
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097708
2010-03-01 22:42:52 +00:00
Volker Lanz 2f2a8589f2 add a very very primitive dummy backend plugin for testing
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097683
2010-03-01 21:32:19 +00:00
Volker Lanz 714ded6172 don't include stuff from jobs
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097682
2010-03-01 21:31:52 +00:00
Volker Lanz afffc3b4d8 don't assume a device always has a partition table.
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097675
2010-03-01 21:13:36 +00:00
Volker Lanz 6573273554 don't use children().size() but numPrimaries() to find out if a partition table
is empty.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097659
2010-03-01 20:20:46 +00:00
Volker Lanz 2e82663ca9 update info pane when creating partition table
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097656
2010-03-01 20:15:10 +00:00
Volker Lanz 02adb06d06 commit changes in the jobs: makes more sense and is required for flags anyway
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097654
2010-03-01 20:10:23 +00:00
Volker Lanz d8a594e226 never hurts to have kdebug.h
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097649
2010-03-01 20:01:18 +00:00
Volker Lanz 5ce08f267c emit progress via CoreBacken::self()
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097612
2010-03-01 18:58:21 +00:00
Volker Lanz 0ab3817d46 clean up the plugin interface a bit.
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097594
2010-03-01 18:30:35 +00:00
Volker Lanz 856ef859eb rename msdos_vista to msdos and make sure to use sector-based-alignment instead
of vista. also use cylinder based instead of msdos legacy.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097441
2010-03-01 12:00:07 +00:00
Volker Lanz c7bc3368e4 turn the libparted backend into a plugin
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097425
2010-03-01 11:02:38 +00:00
Volker Lanz 60e6c1b109 export classes
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097422
2010-03-01 10:53:53 +00:00
Volker Lanz 2d49f64f16 export classes
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097419
2010-03-01 10:50:35 +00:00
Volker Lanz 6706dbfadf move the libparted stuff to its own subdir
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097224
2010-02-28 18:20:06 +00:00
Volker Lanz be401e1ca7 completed encapsulating all libparted-specific stuff in a subclass derived from
CoreBackend*

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1097216
2010-02-28 17:57:55 +00:00
Volker Lanz 05db0f55ea begin moving all libparted-related stuff to a backend class.
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1096873
2010-02-27 21:32:00 +00:00
Volker Lanz f1ab5d8d7f fix off by one
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1096696
2010-02-27 12:52:00 +00:00
Script Kiddy dac0dd48b3 SVN_SILENT made messages (.desktop file)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1095469
2010-02-24 11:42:08 +00:00
Volker Lanz 8bc47ee964 rename any occurences of "disk label" to partition table for consistency
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1095455
2010-02-24 11:32:12 +00:00
Volker Lanz a8b19642fc rename "snapping" to "aligning" partitions
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1095443
2010-02-24 11:06:32 +00:00
Volker Lanz bd1f7b8c5d allow changing the msdos partition alignment from the device properties
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1095438
2010-02-24 10:47:22 +00:00
Volker Lanz 6dba1bbbd1 remove unused signal
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1095437
2010-02-24 10:45:26 +00:00
Volker Lanz fe975b9dfb check for correct alignment only after the partition table type has been set
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1095436
2010-02-24 10:44:11 +00:00
Volker Lanz ed5c0da0ba fix typos in comment
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1095435
2010-02-24 10:43:06 +00:00
Volker Lanz df26044041 rename LibParted class to LibPartedBackend (plus files)
introduce a CoreBackend superclass for all future backends


svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1095129
2010-02-23 18:04:45 +00:00
Volker Lanz 488178c823 remove KCM: it isn't building, it won't work after the refactoring and it
appears no one really wants it.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1095115
2010-02-23 17:25:53 +00:00
Volker Lanz 2eb8c42c1d Remove the few lines related to dbus stuff as long as we're not using any of it
anyway.

Refactor PartitionManagerWidget() and MainWindopw(), moving lots of stuff not
directly related to the PartTableWidget/TreePartition-combo from the former to
the latter. This completely breaks the KCM for now.

Remember the currently selected device across rescans.

Use the partition and device container widget for the context menus of
partitions and devices.

Use QMegatObject::connectSlotByName() where possible, even setting object names
where required to make that work.

Emit operationsChanged() and devicesChanged() in OperationStack because only
that makes any sense.

Add devices properties to toolbar.

Rename itemActivated signal in PartTableWidget to itemDoubleClicked.

DeviceScanner, OperationRunner and OperationStack are child QObjects of
MainWindow now.


svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1095086
2010-02-23 16:30:05 +00:00
Volker Lanz 5d278d64b8 make sure not to show our own status bar if we're a kpart
init m_ActionCollection first so isKPart() is guaranteed to work as early as
possible

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1093899
2010-02-21 17:54:52 +00:00
Volker Lanz 4d036f7783 clean up xml gui file and copy changes to kpart's rc file, too
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1093893
2010-02-21 17:38:24 +00:00
Volker Lanz f8a79b009d save and restore dialog sizes for edit mount points and mount options
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1093882
2010-02-21 17:07:47 +00:00
Volker Lanz 9c73e8f052 save and restore size for configure dialog
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1093877
2010-02-21 17:03:22 +00:00
Volker Lanz 241ae7105e add action to hide/show menu bar
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1093874
2010-02-21 16:58:27 +00:00
Volker Lanz baa03c4d78 don't pass a pointer to the selected device to ListDevice::updateDevices: this
doesn't have any effect anyway.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1092963
2010-02-19 21:25:48 +00:00
Volker Lanz 51f3be7690 don't connect do itemActivated for listDevies, connect to itemDoubleClicked.
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1092961
2010-02-19 21:09:14 +00:00
Volker Lanz 10c32cdb87 Work around a libparted bug when comittint changes to Linux found by the
GParted authors.

See
http://git.gnome.org/browse/gparted/commit/?id=bf86fd3f9ceb0096dfe87a8c9a38403c13b13f00

and

http://lists.alioth.debian.org/pipermail/parted-devel/2010-February/003394.html


svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1092788
2010-02-19 14:44:12 +00:00
Yuri Chornoivan fb63e4886f typo fix
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1092260
2010-02-18 16:43:04 +00:00
Volker Lanz e8e8796d46 add action for device properties to collection.
add the device properties action to device context menu.

open device properties when double clicking device in tree widget.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1091984
2010-02-18 00:06:36 +00:00
Volker Lanz 16861abe7d The available and used colors in the config aren't part of the file system color array.
Actually do use these colors in the part widget.

Improve the look of the selection in the part widget.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1091952
2010-02-17 23:00:55 +00:00
Volker Lanz b7a0b4c4e1 set the uuid when copying a FileSystem
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1091925
2010-02-17 22:07:28 +00:00
Volker Lanz 4849ec5ff8 Add colors to identify each individual type of file system plus a config page
to change these colors.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1091881
2010-02-17 19:39:24 +00:00
Volker Lanz 06e7a29038 Add some more columns to the partition tree now that columns can easily be
hidden. Pick a sane set of columns to show by default, too.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1091807
2010-02-17 16:11:16 +00:00
Volker Lanz 51faaebb38 Add some basic configuration dialog stuff.
Remove the option to create msdos-vista-compatible partition tables. Instead,
use a global config to determine which alignment to use.

Add a device properties dialog.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1091755
2010-02-17 13:18:25 +00:00
Volker Lanz 360131aba1 don't format Byte with decimal digits
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1091656
2010-02-17 10:27:42 +00:00
Volker Lanz 1f3ed68b34 add read-only flag to PartTableWidget
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1091653
2010-02-17 10:06:23 +00:00
Volker Lanz 26365e1079 allow turning on and off columns in the partition tree; save and restore the
settings in the config

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1091219
2010-02-16 20:07:33 +00:00
Volker Lanz 3c41deeeab no longer necessary to include libparted headers
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1090037
2010-02-14 14:23:27 +00:00
Volker Lanz 95ace6b7d3 make first and last usable sector methods static to libparted, no one else is
using them

move the code used to map libparted partition flags to our own flags from the
job to LibParted

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1090002
2010-02-14 12:35:01 +00:00
Volker Lanz bfbe3eed58 clean up includes and doxygen comments
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1089994
2010-02-14 11:42:44 +00:00
Volker Lanz f8b36e35b5 move the code to detect if we're a KPart to its own method
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1089609
2010-02-13 14:21:05 +00:00
Volker Lanz d0a66f66e1 use the modal window attribute to disable the main window while a progress
dialog is running instead of the hackish way we did that

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1089565
2010-02-13 12:31:29 +00:00
Volker Lanz d9fd184c9d Add some basic read-write-locking to the previewDevices.
Remove comment about race conditions when setting the selected device. Turns
out this wasn't at all the case. It was a signal loop, instead.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1089499
2010-02-13 11:25:56 +00:00
Volker Lanz 8ee33739c6 use previewDevices(), not the property itself, in OperationStack
use operationStack().previewDevices() where possible in the pm widget

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1089122
2010-02-12 13:30:28 +00:00
Volker Lanz eca8342e75 Clean up ListOperations.
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1089102
2010-02-12 11:49:35 +00:00
Volker Lanz 7991de7fef Clean up ListDevices and, in the process, also MainWindow and the KCM.
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1089088
2010-02-12 11:29:12 +00:00
Volker Lanz 921d6b18e6 add some config values for advanced stuff:
- allow applying operations for non-root users if
  "allowApplyOperationsForNonRoot" is set to true (default is false)

- hide the radio button to create vista msdos partition tables unless
  "allowCreateVistaPartitionTable" is true (default is false). The reason for
  this is that there are, of course, no "vista msdos partition tables" in
  reality, it's just a Microsoft stupidity that only works as long as there is
  actually a partition starting at sector 2048 in that partition table. If the
  partition table is just created empty, we have no way to determine it was
  meant to be a "vista msdos partition table".

- allow settings the sector alignment for msdos-vista partition tables (default
  is 2048, just like vista).


svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1088920
2010-02-11 22:26:51 +00:00
Volker Lanz bead785279 don't include headers no longer needed
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1088860
2010-02-11 20:11:57 +00:00
Volker Lanz 6f5680866c Add a DeviceScanner class. Move code to scan for devices from
core/libparted.cpp to this new class and use this class in
PartitionManagerWidget

Move the libparted-specific code to inspect _one_ device to a static method in
LibParted.

Make scanning for devices asynchronous with the new DeviceScanner class.

Introduce a progress dialog to show progress while scanning.

Rename the progress dialog for applying operations to something less generic.

Remove the signal emitted when the status bar should change: It's the same
logic used for the signal emitted when operations change.

Remove the onFinished() method in PartitionManagerWidget and directly connect
the finished signal from the apply-progress-dialog to the scanDevices slot.

Rename the PartitionManagerWidget::selectionChanged() signal to the less generic
PartitionManagerWidget::selectedPartitionChanged().

Rename PartitionManagerWidget::clearSelection() to the less generic
PartitionManagerWidget::clearSelectedPartition().

NOTE: The DeviceScanner class is a thread and exposes some race conditions if
not used with caution (aka workarounds). See comments in
PartitionManagerWidget::onScanDevicesFinished().

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1088844
2010-02-11 18:47:51 +00:00
Volker Lanz 75181b6d2f add method to change icon name after instantiation
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1088835
2010-02-11 18:34:09 +00:00
Volker Lanz 3ba56f1fd1 make sectorAlignment signed (all sector numbers throughout the application are
signed)

adjust createUnallocated() so that it leaves sectorAlignment sectors free after
the start of an extended partition for a vista disk label, not sectorsPerTrack

check for the right minimum size for vista and msdos

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1084213
2010-02-02 18:04:38 +00:00
Volker Lanz 9f2ff10e2f Check if we can actually access the device via libparted and don't just segfault if that fails.
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1084199
2010-02-02 17:39:58 +00:00
Volker Lanz 6438c7172d remove requirement for msdos_vista partitions to start at xxxxxxx2048 and end
at xxxxxx2047 -- the vista installer seems to act that way but it's apparently
not really required.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1084191
2010-02-02 17:16:47 +00:00
Volker Lanz 896d31e179 make snapping rules for start and end of partitions more abstract and begin
implementing vista's weird snapping rules.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1083886
2010-02-02 08:40:24 +00:00
Volker Lanz c809be064a begin work on new disk label type for msdos(vista)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1083614
2010-02-01 16:32:45 +00:00
Volker Lanz 058f79debd emit devicesChanged() on undo: the disk label type might change
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1083488
2010-02-01 10:40:28 +00:00
Volker Lanz 85a0a22a27 make sure snapping to the front works even if the partition's first sector
before snapping is between firstUsable and the first cylinder boundary

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1083411
2010-02-01 09:50:30 +00:00
Volker Lanz e7d7283a22 actually use the calculated value, snappedFirst and don't calc it again
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1083355
2010-02-01 09:08:33 +00:00
Volker Lanz 8ecc3ccdf3 fix off by one in getting the first usable sector
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1083353
2010-02-01 09:08:06 +00:00
Volker Lanz 17f37760ae use information from KDiskFreeSpaceInfo only if the partition is mounted
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1082385
2010-01-30 11:52:37 +00:00
Yuri Chornoivan fe08f80bb6 typo: partitin->partition
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1082238
2010-01-30 07:03:57 +00:00
Volker Lanz 7d90e9f78d don't assume on creating a new partition table that the existing partition
table will be able to inform us about first and last usable sector... need to
have some defaults here.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1082202
2010-01-29 23:20:22 +00:00
Volker Lanz c2f127d903 make GPT support work: account for GPT writing a copy of its meta information
to the end of the device, thus requiring us to leave some free space at the end

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1082076
2010-01-29 16:41:42 +00:00
Volker Lanz 40a8e43747 make sure the info pane shows the new partition table type name
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1081932
2010-01-29 11:35:07 +00:00
Volker Lanz 87f2f41e1f add basic support for GPT disk labels
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1081931
2010-01-29 11:25:28 +00:00
Volker Lanz 275dfde876 revert r1077006: don't show all devices in partition tree. it's just too
confusing.

but do keep the code to show the first device by default. also add code to make
sure the devices list shows the selected devices as indeed selected in the list
widget.

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1081532
2010-01-28 16:43:27 +00:00
Volker Lanz 16dae55d04 revert 1077129: re-add devices list. this is just not usable with >4 devices
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1081529
2010-01-28 16:27:28 +00:00
Volker Lanz 4503707e9d fix to register meta type for new name of Log class
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1081527
2010-01-28 16:22:31 +00:00
Script Kiddy e643abb860 SVN_SILENT made messages (.desktop file)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1081429
2010-01-28 10:26:08 +00:00
Volker Lanz 44af166f83 rename all values in CommandSupportType to make them more unique
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1081018
2010-01-27 13:00:14 +00:00
Volker Lanz 84acbea6ac rename FileSystem::SupportType to FileSystem::CommandSupportType
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1081014
2010-01-27 12:48:42 +00:00
Volker Lanz efc5335a39 don't install dbus xml file as long as it's unused
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1080942
2010-01-27 10:27:37 +00:00
Volker Lanz 8b6f51e0f1 add minimal dbus support
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1080818
2010-01-27 00:28:43 +00:00
Volker Lanz a6427ee3ce rename log class to Log to avoid clashes with the C math lib function of the
same name

svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1080742
2010-01-26 21:12:42 +00:00
Volker Lanz 3bcaabaa9d add code forked from mtools to allow settings FAT labels
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1080534
2010-01-26 11:35:23 +00:00
Script Kiddy 20fce584c7 SVN_SILENT made messages (.desktop file)
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1079975
2010-01-25 10:41:20 +00:00
Volker Lanz 4f5253e6a2 remove devices list
svn path=/trunk/extragear/sysadmin/partitionmanager/; revision=1077129
2010-01-19 12:56:27 +00:00