-print "Copying icons from $oxygen...\n";
-opendir (BASEDIR, "$oxygen") or die "Could not open oxygen basedir\n";
-foreach my $sizestr (readdir BASEDIR) {
- next unless $sizestr =~ /\d+x\d+/;
- opendir (SIZEDIR, "$oxygen/$sizestr") or die "Could not open dir $sizestr\n";
- foreach my $cat (readdir SIZEDIR) {
- next if $cat eq '.' or $cat eq '..';
- opendir (CATDIR, "$oxygen/$sizestr/$cat") or die "Could not open category dir\n";
+print "Copying icons from $themefolder...\n";
+opendir (BASEDIR, "$themefolder") or die "Could not open theme basedir\n";
+my $scalableFound = 0;
+foreach my $parent (readdir BASEDIR) {
+ next unless (-d "$themefolder/$parent");
+ $scalableFound = $scalableFound ? 1 : $parent eq 'scalable';
+ next if $parent eq '.' or $parent eq '..' or $parent eq 'scalable' or $parent =~ /\..*/;
+ my $ischildcat = $parent =~ /\d+x\d+/ ? 1 : 0;
+ opendir (SIZEDIR, "$themefolder/$parent") or die "Could not open dir $parent\n";
+ foreach my $child (readdir SIZEDIR) {
+ next if $child eq '.' or $child eq '..';
+ my $cat = $ischildcat ? $child : $parent;
+ opendir (CATDIR, "$themefolder/$parent/$child") or die "Could not open category dir\n";