diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss
index bd57f1907f512..4800de9879eb2 100644
--- a/apps/files/css/files.scss
+++ b/apps/files/css/files.scss
@@ -88,6 +88,11 @@
.nav-icon-favorites {
@include icon-color('star-dark', 'actions', $color-black, 2, true);
}
+
+.nav-icon-favorites-starred {
+ @include icon-color('star-dark', 'actions', $color-yellow, 2, true);
+}
+
.nav-icon-sharingin,
.nav-icon-sharingout,
.nav-icon-shareoverview {
@@ -693,7 +698,11 @@ table.dragshadow td.size {
.breadcrumb .canDrop > a,
#filestable tbody tr.canDrop {
- background-color: rgb(179, 230, 255);
+ background-color: rgba( $color-primary, .3 );
+}
+
+.dropzone-background {
+ background-color: rgba( $color-primary, .3 );
}
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 154209ca9754b..11eabd69a1be2 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -342,6 +342,12 @@
this.$fileList.on('click','td.filename>a.name, td.filesize, td.date', _.bind(this._onClickFile, this));
+ $.event.trigger({type: "droppedOnFavorites"});
+ var self=this;
+ this.$fileList.on("droppedOnFavorites", function (event, file) {
+ self.fileActions.triggerAction('Favorite', self.getModelForFile(file), self);
+ });
+
this.$fileList.on('change', 'td.selection>.selectCheckBox', _.bind(this._onClickFileCheckbox, this));
this.$el.on('show', _.bind(this._onShow, this));
this.$el.on('urlChanged', _.bind(this._onUrlChanged, this));
diff --git a/apps/files/js/files.js b/apps/files/js/files.js
index 094fb81d78b89..67162e9d49144 100644
--- a/apps/files/js/files.js
+++ b/apps/files/js/files.js
@@ -392,7 +392,8 @@ var createDragShadow = function(event) {
var newtr = $('
')
.attr('data-dir', dir)
.attr('data-file', elem.name)
- .attr('data-origin', elem.origin);
+ .attr('data-origin', elem.origin)
+ .attr('data-favorite', elem.tags.includes("_$!!$_"));
newtr.append($(' | ').text(elem.name).css('background-size', 32));
newtr.append($(' | ').text(OC.Util.humanFileSize(elem.size)));
tbody.append(newtr);
diff --git a/apps/files/js/navigation.js b/apps/files/js/navigation.js
index 9fc2180c923f4..e3f3820cdad89 100644
--- a/apps/files/js/navigation.js
+++ b/apps/files/js/navigation.js
@@ -187,6 +187,37 @@
var list = quickAccessMenu.getElementsByTagName('li');
this.QuickSort(list, 0, list.length - 1);
}
+
+ var favListElement=$(quickAccessMenu).parent();
+ favListElement.append("")
+ favListElement.droppable({
+ over: function( event, ui ) {
+ favListElement.addClass('dropzone-background')
+ },
+ out: function( event, ui ) {
+ favListElement.removeClass('dropzone-background');
+ },
+ activate: function( event, ui ) {
+ var elem=favListElement.find("a").first();
+ elem.addClass('nav-icon-favorites-starred').removeClass('nav-icon-favorites');
+ },
+ deactivate: function( event, ui ) {
+ var elem=favListElement.find("a").first();
+ elem.addClass('nav-icon-favorites').removeClass('nav-icon-favorites-starred');
+ },
+ drop: function( event, ui ) {
+ var $selectedFiles = $(ui.draggable);
+ if (ui.helper.find("tr").size()===1) {
+ var $tr = $selectedFiles.closest('tr');
+ if($tr.attr("data-favorite")){
+ return;
+ }
+ $selectedFiles.trigger("droppedOnFavorites", $tr.attr("data-file"));
+ }else{
+ OC.Notification.showTemporary(t('files', 'You can only add single Folders to the Favorites'));
+ }
+ }
+ });
},
/**
diff --git a/core/css/icons.scss b/core/css/icons.scss
index ca2a179d48fea..05f50491b5234 100644
--- a/core/css/icons.scss
+++ b/core/css/icons.scss
@@ -282,13 +282,13 @@ img, object, video, button, textarea, input, select, div[contenteditable='true']
&:focus {
@include icon-color('star', 'actions', $color-black, 1, true);
}
- @include icon-color('star-dark', 'actions', 'FC0', 1, true);
+ @include icon-color('star-dark', 'actions', $color-yellow, 1, true);
}
.icon-star {
&:hover,
&:focus {
- @include icon-color('star-dark', 'actions', 'FC0', 1, true);
+ @include icon-color('star-dark', 'actions', $color-yellow, 1, true);
}
}
diff --git a/core/css/variables.scss b/core/css/variables.scss
index f5b97c9b8795d..3b7a36e271725 100644
--- a/core/css/variables.scss
+++ b/core/css/variables.scss
@@ -52,6 +52,7 @@ $color-success: #46ba61;
// used for svg
$color-white: #fff;
$color-black: #000;
+$color-yellow: #FC0;
// rgb(118, 118, 118) / #767676
// min. color contrast for normal text on white background according to WCAG AA