--- views_ticker.module.orig	2008-04-14 14:11:32.000000000 +0100
+++ views_ticker.module	2008-06-01 23:17:16.123632192 +0100
@@ -347,7 +347,7 @@
   drupal_add_css(drupal_get_path('module', 'views_ticker') .'/views.ticker.scroller.css');
   drupal_add_js(drupal_get_path('module', 'views_ticker') .'/views.ticker.scroller.js');
   $fields = _views_get_fields();
-  $output = '<div id="views-ticker-' . $direction . '-' . $view->name . '" class="views-' . $direction . '-container"><div class="jscroller2_' . $jsclass . ' jscroller2_speed-30">';
+  $output = '<div id="views-ticker-' . $direction . '-' . $view->name . '" class="views-' . $direction . '-container"><div class="jscroller2_' . $jsclass . ' jscroller2_speed-' . variable_get('viewsticker_scroller_hspeed', 30) . (variable_get('viewsticker_scroller_hmouseover', 0) ? ' jscroller2_mousemove' : '') .'">';
   foreach ($nodes as $node) {
       $items = '<div class="views-' . $direction . '-item views-' . $direction . '-item-' . $view->name . '">';
     foreach ($view->field as $field) {
@@ -447,3 +447,84 @@
 function theme_views_ticker_vscroll($view, $nodes, $type) {
   return _views_ticker_scroller($view, $nodes, $type, 'vertical');
 }
+
+// admin
+/**
+ * Implementation of hook_help().
+ */
+function views_ticker_help($section) {
+  switch ($section) {
+    case 'admin/modules#description':
+      return t('Adds javascript scrollers to the Views module.');
+  }
+}
+
+/**
+ * Implementation of hook_perm().
+ *
+ * Since we are limiting the ability to create new nodes to certain users,
+ * we need to define what those permissions are here. We also define a permission
+ * to allow users to edit the nodes they created.
+ */
+function views_ticker_perm() {
+  return array('administer views_ticker');
+}
+
+/**
+ * Implementation of hook_menu().
+ */
+function views_ticker_menu($may_cache) {
+  $items = array();
+  if ($may_cache) {
+    $items[] = array(
+      'path' => 'admin/settings/views_ticker',
+      'title' => t('Views ticker settings'),
+      'description' => t(''),
+      'access' => user_access('administer views_ticker'),
+      'callback' => 'drupal_get_form',
+      'callback arguments' => 'views_ticker_settings',
+      'type' => MENU_NORMAL_ITEM,
+    );
+
+  }
+
+  return $items;
+
+}
+
+/**
+ * Menu callback; presents the settings form for views_ticker
+ */
+function views_ticker_settings() {
+  $form = array();
+
+  $form['views_ticker_set'] = array(
+    '#type' => 'fieldset',
+    '#title' => t('Horizontal scroller settings'),
+    '#description' => t(''),
+    '#collapsible' => TRUE,
+    '#collapsed' => FALSE,
+  );
+  $form['views_ticker_set']['viewsticker_scroller_hspeed'] = array(
+    '#type' => 'select',
+    '#title' => t('Horizontal scroller speed'),
+    '#default_value' => variable_get('viewsticker_scroller_hspeed', 30),
+    '#options' => array(
+      '10' => t('Very slow'),
+      '20' => t('Slow'),
+      '30' => t('Normal'),
+      '40' => t('Fast'),
+      '50' => t('Very fast'),
+    ),
+    '#description' => t(''),
+  );
+  $form['views_ticker_set']['viewsticker_scroller_hmouseover'] = array(
+    '#type' => 'checkbox',
+    '#title' => t('Horizontal scroller mouseover'),
+    '#default_value' => variable_get('viewsticker_scroller_hmouseover', 0),
+    '#description' => t(''),
+  );
+
+  return system_settings_form($form);
+
+}
