]> gitweb.hamatoma.de Git - reqt/commitdiff
renamed to onAbout...()
authorhama <hama@siduction.net>
Wed, 3 Feb 2016 07:13:27 +0000 (08:13 +0100)
committerhama <hama@siduction.net>
Wed, 3 Feb 2016 07:13:27 +0000 (08:13 +0100)
appl/rebackgui/osconnect.pl [new file with mode: 0644]
appl/rebackgui/rebackgui.pro
appl/reimgconvert/mainwindow.cpp
appl/reimgconvert/mainwindow.hpp
appl/reimgconvert/reimgconvert.pro

diff --git a/appl/rebackgui/osconnect.pl b/appl/rebackgui/osconnect.pl
new file mode 100644 (file)
index 0000000..99c5700
--- /dev/null
@@ -0,0 +1,106 @@
+#! /usr/bin/perl
+
+use strict;
+
+my $mode = shift;
+my %devs;
+if ($mode eq "find-label"){
+       my $targetPath = shift;
+       if (! -d $targetPath){
+               &Usage("not a directory: $targetPath");
+       }
+       %devs = &LabelOfDevs;
+       open($CMD, "mount|") || die "cannot execute mount: $!";
+       my ($label, $relPath);
+       while(<$CMD>){
+               # /dev/sdb1 on /media/src type vfat (rw,...)
+               if(/(\S+) on (\S+)/){
+                       my ($dev, $path) = ($1, $2);
+                       if (index($targetPath, $path) == 0){
+                               if ($devs{$dev} ne ""){
+                                       $label = $devs{$dev};
+                                       $relPath = substr($targetPath, length($path) + 1);
+                               }
+                       }
+               }
+       }
+       close $CMD;
+       if ($label eq ""){
+               &Usage("no mounted device found");
+       } else {
+               print "L=\"$label\"\n$relPath\n";
+       }
+} elsif ($mode eq "search-target"){
+       my $label = shift;
+       my $relPath = shift;
+       &Usage("missing label") unless $label;
+       &Usage("missing relative path") unless $relPath;
+
+       %devs = &LabelOfDevs;
+       if (
+       # /dev/sdb1: LABEL="EFI system" UUID="80F7-47BB" TYPE="vfat" ...
+       open(my $CMD, "blkid|") || die "cannot execute blkid: $!";
+       while(<$CMD>){
+               if(/(\S+): LABEL="(.*?)"/){
+                       $devs{$1} = $2;
+               }
+       }
+close $CMD;
+} else {
+       &Usage("unknown mode");
+}
+
+
+sub Usage{
+       my $msg = shift;
+       print <<EOS;
+Usage:
+osconnect find-label <path>
+       Search the label of the device containing <path>.
+       Output:
+       L=<label>
+       <relative_path>
+osconnect mount-target <label> <rel_path>
+       Search the device with a given label and mount it (if not mounted)
+       Output:
+       <mount-directory>
+       <flag>
+
+Example:
+osconnect.pl find-label /media/USB-black/backup
+
+EOS
+       print "+++", $msg, "\n";
+       exit 1;
+}
+
+# Returns an associative array with (dev, label) entries
+# @return      an associative array with (dev, label) entries
+sub LabelOfDev{
+
+       my %devs;
+       # /dev/sdb1: LABEL="EFI system" UUID="80F7-47BB" TYPE="vfat" ...
+       open(my $CMD, "blkid|") || die "cannot execute blkid: $!";
+       while(<$CMD>){
+               if(/(\S+): LABEL="(.*?)"/){
+                       $devs{$1} = $2;
+               }
+       }
+       close $CMD;
+       return %devs;
+}
+
+# Search the device of a given label.
+# @param $label        label to search
+# @return:             "": not found
+#                              otherwise: the device with the given label
+sub DeviceOfLabel{
+       my $label = shift;
+       my $dev;
+       for (keys %devs){
+       if ($devs{$_} eq $label){
+               $dev = $_;
+               last;
+       }
+       return $rc;
+}
index 76e8cb3eea8a9e0fb9aadb7459b98e26f212ef60..8842e0c847f8ce0c54ad2236084a76e8fed4d4df 100644 (file)
@@ -49,5 +49,6 @@ FORMS    += mainwindow.ui \
         aboutdialog.ui
 
 DISTFILES += \
-       ReBackGui.html
+       ReBackGui.html \
+    osconnect.pl
 
index 66fc4f23a3498891cbc3dbdcd7cb0049f848cb77..0e11a3d25a5eb6d66bb6c3363cbd4731a66b4da2 100644 (file)
@@ -87,7 +87,7 @@ void MainWindow::about(){
 /**
  * Actions while closing the application.
  */
-void MainWindow::aboutToQuit(){
+void MainWindow::onAboutToQuit(){
        saveState();
 }
 
@@ -113,7 +113,7 @@ bool MainWindow::error(const QString& message){
 /**
  * Reads the <code>m_guiQueue</code> and put the info into the GUI elements.
  */
-void MainWindow::guiTimerUpdate()
+void MainWindow::onGuiTimerUpdate()
 {
        int count = m_guiQueue.count();
        while(count-- > 0){
index ad4bc6c2bcac135a7caba74f14d91fb454336c3b..227841186de7262f090d08a9ba0d187e387bab59 100644 (file)
@@ -33,7 +33,6 @@ public:
    ~MainWindow();
 
 public:
-       virtual void aboutToQuit();
    bool error(const QString& message);
    bool log(const QString& message);
    void setStatusMessage(bool error, const QString& message);
@@ -47,7 +46,8 @@ private:
 private slots:
    void about();
    void clear();
-   void guiTimerUpdate();
+   virtual void onAboutToQuit();
+   void onGuiTimerUpdate();
    void onConvert();
    void onShowOtherFiles();
    void onSourceFileSelect();
index 6be8c710dec942b5c38404a63b2708bcf74bfe52..76463f2eb1b2f2d8105c0f0737abaffa575a5cac 100644 (file)
@@ -15,6 +15,7 @@ INCLUDEPATH += ../..
 
 SOURCES += main.cpp\
         ../../base/ReException.cpp \
+        ../../base/ReStringUtils.cpp \
         ../../base/ReQStringUtils.cpp \
         ../../base/ReFileUtils.cpp \
         ../../base/ReLogger.cpp \