Changeset 3b202c839ca4

Show
Ignore:
Timestamp:
11/15/08 17:06:00 (8 weeks ago)
Author:
Milosz Derezynski <monostatic77@…>
Branch:
trunk
Message:

* Restore deep rescan of locations (folders, shares, etc)
* Move lib-vacuumizing options into mlibmanager for HAL-enabled builds, to allow selective rescan of volumes (and in fact prohibit rescanning of volumes currently not present in the system); disable global rescan in the Edit menu for that same reason

Files:
10 modified

Legend:

Unmodified
Added
Removed
  • glade/mlibmanager.glade

    r954 r978  
    147147                <widget class="GtkLabel" id="label7"> 
    148148                  <property name="visible">True</property> 
    149                   <property name="label" translatable="yes">&lt;b&gt;Filesystem&lt;/b&gt;</property> 
     149                  <property name="label" translatable="yes">&lt;b&gt;Folders&lt;/b&gt;</property> 
    150150                  <property name="use_underline">False</property> 
    151151                  <property name="use_markup">True</property> 
     
    251251 
    252252      <child> 
    253         <widget class="GtkHButtonBox" id="hbuttonbox1"> 
     253        <widget class="GtkHBox" id="hbox7"> 
    254254          <property name="visible">True</property> 
    255           <property name="layout_style">GTK_BUTTONBOX_EDGE</property> 
    256           <property name="spacing">2</property> 
     255          <property name="homogeneous">False</property> 
     256          <property name="spacing">0</property> 
    257257 
    258258          <child> 
    259             <widget class="GtkButton" id="b-rescan"> 
     259            <widget class="GtkHButtonBox" id="hbuttonbox2"> 
    260260              <property name="visible">True</property> 
    261               <property name="can_default">True</property> 
    262               <property name="can_focus">True</property> 
    263               <property name="relief">GTK_RELIEF_NORMAL</property> 
    264               <property name="focus_on_click">True</property> 
    265  
    266               <child> 
    267                 <widget class="GtkAlignment" id="alignment1"> 
    268                   <property name="visible">True</property> 
    269                   <property name="xalign">0.5</property> 
    270                   <property name="yalign">0.5</property> 
    271                   <property name="xscale">0</property> 
    272                   <property name="yscale">0</property> 
    273                   <property name="top_padding">0</property> 
    274                   <property name="bottom_padding">0</property> 
    275                   <property name="left_padding">0</property> 
    276                   <property name="right_padding">0</property> 
    277  
    278                   <child> 
    279                     <widget class="GtkHBox" id="hbox3"> 
    280                       <property name="visible">True</property> 
    281                       <property name="homogeneous">False</property> 
    282                       <property name="spacing">2</property> 
     261              <property name="layout_style">GTK_BUTTONBOX_START</property> 
     262              <property name="spacing">4</property> 
     263 
     264              <child> 
     265                <widget class="GtkButton" id="b-rescan"> 
     266                  <property name="visible">True</property> 
     267                  <property name="tooltip" translatable="yes">Quick rescan, finds new folders and new files</property> 
     268                  <property name="can_default">True</property> 
     269                  <property name="can_focus">True</property> 
     270                  <property name="relief">GTK_RELIEF_NORMAL</property> 
     271                  <property name="focus_on_click">True</property> 
     272 
     273                  <child> 
     274                    <widget class="GtkAlignment" id="alignment1"> 
     275                      <property name="visible">True</property> 
     276                      <property name="xalign">0.5</property> 
     277                      <property name="yalign">0.5</property> 
     278                      <property name="xscale">0</property> 
     279                      <property name="yscale">0</property> 
     280                      <property name="top_padding">0</property> 
     281                      <property name="bottom_padding">0</property> 
     282                      <property name="left_padding">0</property> 
     283                      <property name="right_padding">0</property> 
    283284 
    284285                      <child> 
    285                         <widget class="GtkImage" id="image1"> 
     286                        <widget class="GtkHBox" id="hbox3"> 
    286287                          <property name="visible">True</property> 
    287                           <property name="stock">gtk-refresh</property> 
    288                           <property name="icon_size">1</property> 
    289                           <property name="xalign">0.5</property> 
    290                           <property name="yalign">0.5</property> 
    291                           <property name="xpad">0</property> 
    292                           <property name="ypad">0</property> 
     288                          <property name="homogeneous">False</property> 
     289                          <property name="spacing">2</property> 
     290 
     291                          <child> 
     292                            <widget class="GtkImage" id="image1"> 
     293                              <property name="visible">True</property> 
     294                              <property name="stock">gtk-refresh</property> 
     295                              <property name="icon_size">1</property> 
     296                              <property name="xalign">0.5</property> 
     297                              <property name="yalign">0.5</property> 
     298                              <property name="xpad">0</property> 
     299                              <property name="ypad">0</property> 
     300                            </widget> 
     301                            <packing> 
     302                              <property name="padding">0</property> 
     303                              <property name="expand">False</property> 
     304                              <property name="fill">False</property> 
     305                            </packing> 
     306                          </child> 
     307 
     308                          <child> 
     309                            <widget class="GtkLabel" id="label3"> 
     310                              <property name="visible">True</property> 
     311                              <property name="label" translatable="yes">_Rescan Volume</property> 
     312                              <property name="use_underline">True</property> 
     313                              <property name="use_markup">False</property> 
     314                              <property name="justify">GTK_JUSTIFY_LEFT</property> 
     315                              <property name="wrap">False</property> 
     316                              <property name="selectable">False</property> 
     317                              <property name="xalign">0.5</property> 
     318                              <property name="yalign">0.5</property> 
     319                              <property name="xpad">0</property> 
     320                              <property name="ypad">0</property> 
     321                              <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 
     322                              <property name="width_chars">-1</property> 
     323                              <property name="single_line_mode">False</property> 
     324                              <property name="angle">0</property> 
     325                            </widget> 
     326                            <packing> 
     327                              <property name="padding">0</property> 
     328                              <property name="expand">False</property> 
     329                              <property name="fill">False</property> 
     330                            </packing> 
     331                          </child> 
    293332                        </widget> 
    294                         <packing> 
    295                           <property name="padding">0</property> 
    296                           <property name="expand">False</property> 
    297                           <property name="fill">False</property> 
    298                         </packing> 
    299333                      </child> 
     334                    </widget> 
     335                  </child> 
     336                </widget> 
     337              </child> 
     338 
     339              <child> 
     340                <widget class="GtkButton" id="b-deep-rescan"> 
     341                  <property name="visible">True</property> 
     342                  <property name="tooltip" translatable="yes">Rescans everything, finds also changes in existing files</property> 
     343                  <property name="can_default">True</property> 
     344                  <property name="can_focus">True</property> 
     345                  <property name="relief">GTK_RELIEF_NORMAL</property> 
     346                  <property name="focus_on_click">True</property> 
     347 
     348                  <child> 
     349                    <widget class="GtkAlignment" id="alignment3"> 
     350                      <property name="visible">True</property> 
     351                      <property name="xalign">0.5</property> 
     352                      <property name="yalign">0.5</property> 
     353                      <property name="xscale">0</property> 
     354                      <property name="yscale">0</property> 
     355                      <property name="top_padding">0</property> 
     356                      <property name="bottom_padding">0</property> 
     357                      <property name="left_padding">0</property> 
     358                      <property name="right_padding">0</property> 
    300359 
    301360                      <child> 
    302                         <widget class="GtkLabel" id="label3"> 
     361                        <widget class="GtkHBox" id="hbox8"> 
    303362                          <property name="visible">True</property> 
    304                           <property name="label" translatable="yes">_Rescan Volume</property> 
    305                           <property name="use_underline">True</property> 
    306                           <property name="use_markup">False</property> 
    307                           <property name="justify">GTK_JUSTIFY_LEFT</property> 
    308                           <property name="wrap">False</property> 
    309                           <property name="selectable">False</property> 
    310                           <property name="xalign">0.5</property> 
    311                           <property name="yalign">0.5</property> 
    312                           <property name="xpad">0</property> 
    313                           <property name="ypad">0</property> 
    314                           <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 
    315                           <property name="width_chars">-1</property> 
    316                           <property name="single_line_mode">False</property> 
    317                           <property name="angle">0</property> 
     363                          <property name="homogeneous">False</property> 
     364                          <property name="spacing">2</property> 
     365 
     366                          <child> 
     367                            <widget class="GtkImage" id="image3"> 
     368                              <property name="visible">True</property> 
     369                              <property name="stock">gtk-harddisk</property> 
     370                              <property name="icon_size">1</property> 
     371                              <property name="xalign">0.5</property> 
     372                              <property name="yalign">0.5</property> 
     373                              <property name="xpad">0</property> 
     374                              <property name="ypad">0</property> 
     375                            </widget> 
     376                            <packing> 
     377                              <property name="padding">0</property> 
     378                              <property name="expand">False</property> 
     379                              <property name="fill">False</property> 
     380                            </packing> 
     381                          </child> 
     382 
     383                          <child> 
     384                            <widget class="GtkLabel" id="label10"> 
     385                              <property name="visible">True</property> 
     386                              <property name="label" translatable="yes">Deep _Rescan Volume</property> 
     387                              <property name="use_underline">True</property> 
     388                              <property name="use_markup">False</property> 
     389                              <property name="justify">GTK_JUSTIFY_LEFT</property> 
     390                              <property name="wrap">False</property> 
     391                              <property name="selectable">False</property> 
     392                              <property name="xalign">0.5</property> 
     393                              <property name="yalign">0.5</property> 
     394                              <property name="xpad">0</property> 
     395                              <property name="ypad">0</property> 
     396                              <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 
     397                              <property name="width_chars">-1</property> 
     398                              <property name="single_line_mode">False</property> 
     399                              <property name="angle">0</property> 
     400                            </widget> 
     401                            <packing> 
     402                              <property name="padding">0</property> 
     403                              <property name="expand">False</property> 
     404                              <property name="fill">False</property> 
     405                            </packing> 
     406                          </child> 
    318407                        </widget> 
    319                         <packing> 
    320                           <property name="padding">0</property> 
    321                           <property name="expand">False</property> 
    322                           <property name="fill">False</property> 
    323                         </packing> 
    324408                      </child> 
    325409                    </widget> 
     
    327411                </widget> 
    328412              </child> 
     413 
     414              <child> 
     415                <widget class="GtkButton" id="b-vacuum"> 
     416                  <property name="visible">True</property> 
     417                  <property name="tooltip" translatable="yes">Rescans everything, finds also changes in existing files</property> 
     418                  <property name="can_default">True</property> 
     419                  <property name="can_focus">True</property> 
     420                  <property name="relief">GTK_RELIEF_NORMAL</property> 
     421                  <property name="focus_on_click">True</property> 
     422 
     423                  <child> 
     424                    <widget class="GtkAlignment" id="alignment4"> 
     425                      <property name="visible">True</property> 
     426                      <property name="xalign">0.5</property> 
     427                      <property name="yalign">0.5</property> 
     428                      <property name="xscale">0</property> 
     429                      <property name="yscale">0</property> 
     430                      <property name="top_padding">0</property> 
     431                      <property name="bottom_padding">0</property> 
     432                      <property name="left_padding">0</property> 
     433                      <property name="right_padding">0</property> 
     434 
     435                      <child> 
     436                        <widget class="GtkHBox" id="hbox9"> 
     437                          <property name="visible">True</property> 
     438                          <property name="homogeneous">False</property> 
     439                          <property name="spacing">2</property> 
     440 
     441                          <child> 
     442                            <widget class="GtkImage" id="image4"> 
     443                              <property name="visible">True</property> 
     444                              <property name="stock">gtk-undo</property> 
     445                              <property name="icon_size">4</property> 
     446                              <property name="xalign">0.5</property> 
     447                              <property name="yalign">0.5</property> 
     448                              <property name="xpad">0</property> 
     449                              <property name="ypad">0</property> 
     450                            </widget> 
     451                            <packing> 
     452                              <property name="padding">0</property> 
     453                              <property name="expand">False</property> 
     454                              <property name="fill">False</property> 
     455                            </packing> 
     456                          </child> 
     457 
     458                          <child> 
     459                            <widget class="GtkLabel" id="label11"> 
     460                              <property name="visible">True</property> 
     461                              <property name="label" translatable="yes">Vacuum Volume</property> 
     462                              <property name="use_underline">True</property> 
     463                              <property name="use_markup">False</property> 
     464                              <property name="justify">GTK_JUSTIFY_LEFT</property> 
     465                              <property name="wrap">False</property> 
     466                              <property name="selectable">False</property> 
     467                              <property name="xalign">0.5</property> 
     468                              <property name="yalign">0.5</property> 
     469                              <property name="xpad">0</property> 
     470                              <property name="ypad">0</property> 
     471                              <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 
     472                              <property name="width_chars">-1</property> 
     473                              <property name="single_line_mode">False</property> 
     474                              <property name="angle">0</property> 
     475                            </widget> 
     476                            <packing> 
     477                              <property name="padding">0</property> 
     478                              <property name="expand">False</property> 
     479                              <property name="fill">False</property> 
     480                            </packing> 
     481                          </child> 
     482                        </widget> 
     483                      </child> 
     484                    </widget> 
     485                  </child> 
     486                </widget> 
     487              </child> 
    329488            </widget> 
     489            <packing> 
     490              <property name="padding">0</property> 
     491              <property name="expand">True</property> 
     492              <property name="fill">True</property> 
     493            </packing> 
    330494          </child> 
    331495 
    332496          <child> 
    333             <widget class="GtkButton" id="b-close"> 
     497            <widget class="GtkHButtonBox" id="hbuttonbox1"> 
    334498              <property name="visible">True</property> 
    335               <property name="can_default">True</property> 
    336               <property name="can_focus">True</property> 
    337               <property name="relief">GTK_RELIEF_NORMAL</property> 
    338               <property name="focus_on_click">True</property> 
    339  
    340               <child> 
    341                 <widget class="GtkAlignment" id="alignment2"> 
    342                   <property name="visible">True</property> 
    343                   <property name="xalign">0.5</property> 
    344                   <property name="yalign">0.5</property> 
    345                   <property name="xscale">0</property> 
    346                   <property name="yscale">0</property> 
    347                   <property name="top_padding">0</property> 
    348                   <property name="bottom_padding">0</property> 
    349                   <property name="left_padding">0</property> 
    350                   <property name="right_padding">0</property> 
    351  
    352                   <child> 
    353                     <widget class="GtkHBox" id="hbox7"> 
    354                       <property name="visible">True</property> 
    355                       <property name="homogeneous">False</property> 
    356                       <property name="spacing">2</property> 
     499              <property name="layout_style">GTK_BUTTONBOX_END</property> 
     500              <property name="spacing">2</property> 
     501 
     502              <child> 
     503                <widget class="GtkButton" id="b-close"> 
     504                  <property name="visible">True</property> 
     505                  <property name="can_default">True</property> 
     506                  <property name="can_focus">True</property> 
     507                  <property name="relief">GTK_RELIEF_NORMAL</property> 
     508                  <property name="focus_on_click">True</property> 
     509 
     510                  <child> 
     511                    <widget class="GtkAlignment" id="alignment2"> 
     512                      <property name="visible">True</property> 
     513                      <property name="xalign">0.5</property> 
     514                      <property name="yalign">0.5</property> 
     515                      <property name="xscale">0</property> 
     516                      <property name="yscale">0</property> 
     517                      <property name="top_padding">0</property> 
     518                      <property name="bottom_padding">0</property> 
     519                      <property name="left_padding">0</property> 
     520                      <property name="right_padding">0</property> 
    357521 
    358522                      <child> 
    359                         <widget class="GtkImage" id="image2"> 
     523                        <widget class="GtkHBox" id="hbox7"> 
    360524                          <property name="visible">True</property> 
    361                           <property name="stock">gtk-close</property> 
    362                           <property name="icon_size">1</property> 
    363                           <property name="xalign">0.5</property> 
    364                           <property name="yalign">0.5</property> 
    365                           <property name="xpad">0</property> 
    366                           <property name="ypad">0</property> 
     525                          <property name="homogeneous">False</property> 
     526                          <property name="spacing">2</property> 
     527 
     528                          <child> 
     529                            <widget class="GtkImage" id="image2"> 
     530                              <property name="visible">True</property> 
     531                              <property name="stock">gtk-close</property> 
     532                              <property name="icon_size">1</property> 
     533                              <property name="xalign">0.5</property> 
     534                              <property name="yalign">0.5</property> 
     535                              <property name="xpad">0</property> 
     536                              <property name="ypad">0</property> 
     537                            </widget> 
     538                            <packing> 
     539                              <property name="padding">0</property> 
     540                              <property name="expand">False</property> 
     541                              <property name="fill">False</property> 
     542                            </packing> 
     543                          </child> 
     544 
     545                          <child> 
     546                            <widget class="GtkLabel" id="label9"> 
     547                              <property name="visible">True</property> 
     548                              <property name="label">Close</property> 
     549                              <property name="use_underline">True</property> 
     550                              <property name="use_markup">False</property> 
     551                              <property name="justify">GTK_JUSTIFY_LEFT</property> 
     552                              <property name="wrap">False</property> 
     553                              <property name="selectable">False</property> 
     554                              <property name="xalign">0.5</property> 
     555                              <property name="yalign">0.5</property> 
     556                              <property name="xpad">0</property> 
     557                              <property name="ypad">0</property> 
     558                              <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 
     559                              <property name="width_chars">-1</property> 
     560                              <property name="single_line_mode">False</property> 
     561                              <property name="angle">0</property> 
     562                            </widget> 
     563                            <packing> 
     564                              <property name="padding">0</property> 
     565                              <property name="expand">False</property> 
     566                              <property name="fill">False</property> 
     567                            </packing> 
     568                          </child> 
    367569                        </widget> 
    368                         <packing> 
    369                           <property name="padding">0</property> 
    370                           <property name="expand">False</property> 
    371                           <property name="fill">False</property> 
    372                         </packing> 
    373570                      </child> 
    374  
    375                       <child> 
    376                         <widget class="GtkLabel" id="label9"> 
    377                           <property name="visible">True</property> 
    378                           <property name="label">Close</property> 
    379                           <property name="use_underline">True</property> 
    380                           <property name="use_markup">False</property> 
    381                           <property name="justify">GTK_JUSTIFY_LEFT</property> 
    382                           <property name="wrap">False</property> 
    383                           <property name="selectable">False</property> 
    384                           <property name="xalign">0.5</property> 
    385                           <property name="yalign">0.5</property> 
    386                           <property name="xpad">0</property> 
    387                           <property name="ypad">0</property> 
    388                           <property name="ellipsize">PANGO_ELLIPSIZE_NONE</property> 
    389                           <property name="width_chars">-1</property> 
    390                           <property name="single_line_mode">False</property> 
    391                           <property name="angle">0</property> 
    392                         </widget> 
    393                         <packing> 
    394                           <property name="padding">0</property> 
    395                           <property name="expand">False</property> 
    396                           <property name="fill">False</property> 
    397                         </packing> 
    398                       </child> 
    399571                    </widget> 
    400572                  </child> 
     
    402574              </child> 
    403575            </widget> 
     576            <packing> 
     577              <property name="padding">0</property> 
     578              <property name="expand">True</property> 
     579              <property name="fill">True</property> 
     580            </packing> 
    404581          </child> 
    405582        </widget> 
  • include/mpx/mpx-library-scanner-thread.hh

    r908 r978  
    111111        public: 
    112112 
    113             sigx::request_f<Util::FileList const&> scan ; 
     113            sigx::request_f<Util::FileList const&, bool> scan ; 
    114114            sigx::request_f<> scan_stop ; 
    115115 
     
    136136            virtual void on_cleanup () ; 
    137137 
    138             void on_scan (Util::FileList const&) ; 
     138            void on_scan (Util::FileList const&, bool) ; 
    139139            void on_scan_stop () ; 
     140            void on_scan_list_deep (Util::FileList const&); // on_scan delegate 
     141            void on_scan_list_paths (Util::FileList const&); // on_scan delegate 
    140142 
    141143            gint64 
  • include/mpx/mpx-library.hh

    r977 r978  
    7777 
    7878            void 
    79             initScan (const Util::FileList& list);  
     79            vacuum(); 
     80 
     81#ifdef HAVE_HAL     
     82                        void 
     83                        vacuum_volume(const std::string&, const std::string&); 
     84#endif 
     85 
     86            void 
     87            reload(); 
     88 
     89 
     90            void 
     91            initScan (const Util::FileList& list, bool deep = false);  
     92 
    8093 
    8194            void 
     
    8598        &