diff --git a/sites/all/modules/contrib/commerce_extra/modules/quantity/commerce_extra_quantity.module b/sites/all/modules/contrib/commerce_extra/modules/quantity/commerce_extra_quantity.module
index 609f79b..1df61c7 100644
--- a/sites/all/modules/contrib/commerce_extra/modules/quantity/commerce_extra_quantity.module
+++ b/sites/all/modules/contrib/commerce_extra/modules/quantity/commerce_extra_quantity.module
@@ -1,7 +1,7 @@
 <?php
 /**
  * @file
- *   Contains Commerce Quantity Plus-Minus module's functionality.
+ * Contains Commerce Quantity Plus-Minus module's functionality.
  */
 
 define('COMMERCE_EXTRA_QUANTITY_INCREASE', 1);
@@ -13,7 +13,7 @@ define('COMMERCE_EXTRA_QUANTITY_DECREASE', -1);
  */
 function commerce_extra_quantity_form_alter(&$form, &$form_state, $form_id) {
 
-  // Add to cart form from field api
+  // Add to cart form from field api.
   $str = 'commerce_cart_add_to_cart_form_';
   if (drupal_substr($form_id, 0, drupal_strlen($str)) == $str) {
     if (isset($form['quantity']) && $form['quantity']['#type'] == 'textfield') {
@@ -23,7 +23,7 @@ function commerce_extra_quantity_form_alter(&$form, &$form_state, $form_id) {
     }
   }
 
-  // Quantity fields from views
+  // Quantity fields from views.
   if ($form_id == 'views_form_commerce_cart_form_default') {
     if (isset($form['edit_quantity'])) {
       $form['#attached']['js'][] = drupal_get_path('module', 'commerce_extra_quantity') . '/commerce_extra_quantity.js';
@@ -36,6 +36,37 @@ function commerce_extra_quantity_form_alter(&$form, &$form_state, $form_id) {
     }
   }
 
+  // Quantity fields from views.
+  if ($form_id == 'commerce_extra_settings') {
+    $form['commerce_extra_quantity']['buttons_position'] = array(
+      '#type' => 'radios',
+      '#title' => t('Select the position of the +/- buttons.'),
+      '#options' => array(
+        1 => t('Default (+ on left and - on right)'),
+        2 => t('Both on left'),
+        3 => t('Both on right'),
+      ),
+      '#default_value' => variable_get('commerce_extra_quantity_buttons_position', 1),
+    );
+
+    $form['commerce_extra_quantity']['buttons_reverse'] = array(
+      '#type' => 'checkbox',
+      '#title' => t('Reverse +/- buttons?'),
+      '#default_value' => variable_get('commerce_extra_quantity_buttons_reverse', 0),
+    );
+
+    $form['#submit'][] = '_commerce_extra_quantity_settings_submit';
+  }
+
+}
+
+/**
+ * Submit callback of commerce extra settings.
+ *
+ */
+function _commerce_extra_quantity_settings_submit(&$form, &$form_state) {
+  variable_set('commerce_extra_quantity_buttons_position', $form_state['values']['buttons_position']);
+  variable_set('commerce_extra_quantity_buttons_reverse', $form_state['values']['buttons_reverse']);
 }
 
 /**
@@ -47,7 +78,9 @@ function commerce_extra_quantity_theme($existing, $type, $theme, $path) {
       'render element' => 'form',
     ),
     'quantity_plusminus_link' => array(
-      'variables' => array('way' => NULL, 'quantity' => NULL, 'quantity_input_element' => NULL),
+      'variables' => array(
+        'way' => NULL, 'quantity' => NULL, 'quantity_input_element' => NULL,
+      ),
     ),
   );
 }
@@ -56,9 +89,43 @@ function commerce_extra_quantity_theme($existing, $type, $theme, $path) {
  * Returns HTML for quantity textfield having links wrapping the textfield.
  */
 function theme_quantity_plusminus_wrapper($variables) {
-  $decrease = theme('quantity_plusminus_link', array('way' => COMMERCE_EXTRA_QUANTITY_DECREASE, 'quantity' => $variables['form']['#value'], 'quantity_input_element' => $variables['form']['#id']));
-  $increase = theme('quantity_plusminus_link', array('way' => COMMERCE_EXTRA_QUANTITY_INCREASE, 'quantity' => $variables['form']['#value'], 'quantity_input_element' => $variables['form']['#id']));
-  return $decrease . $variables['form']['#children'] . $increase;
+  $decrease = theme('quantity_plusminus_link', array(
+                'way' => COMMERCE_EXTRA_QUANTITY_DECREASE,
+                'quantity' => $variables['form']['#value'],
+                'quantity_input_element' => $variables['form']['#id'],
+                )
+              );
+  $increase = theme('quantity_plusminus_link', array(
+                      'way' => COMMERCE_EXTRA_QUANTITY_INCREASE,
+                      'quantity' => $variables['form']['#value'],
+                      'quantity_input_element' => $variables['form']['#id'],
+                   )
+              );
+  $position = variable_get('commerce_extra_quantity_buttons_position', 1);
+  $reverse  = variable_get('commerce_extra_quantity_buttons_reverse', 0);
+
+  // Reverse the buttons positions.
+  $buttons = $decrease . $increase;
+  if ($reverse) {
+    $buttons = $increase . $decrease;
+  }
+
+  switch ($position) {
+    case 2:
+      return $buttons . $variables['form']['#children'];
+      break;
+
+    case 3:
+      return $variables['form']['#children'] . $buttons;
+      break;
+
+    default:
+      if ($reverse) {
+        return $increase . $variables['form']['#children'] . $decrease;
+      }
+      return $decrease . $variables['form']['#children'] . $increase;
+      break;
+  }
 }
 
 /**
@@ -71,6 +138,7 @@ function theme_quantity_plusminus_link($variables) {
       $class = 'commerce-quantity-plusminus-link-decrease';
       $js_callback = "Drupal.commerce_extra_quantity_quantity('#" . $variables['quantity_input_element'] . "', " . $variables['way'] . ")";
       break;
+
     case COMMERCE_EXTRA_QUANTITY_INCREASE:
       $text = '+';
       $class = 'commerce-quantity-plusminus-link-increase';
